কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েড অ্যাপে ইউটিউব ভিডিও চালানোর পদ্ধতি

অ্যান্ড্রয়েডে ইউটিউব ভিডিও প্লে করার গাইড

এই টিউটোরিয়ালে দেখানো হয়েছে কিভাবে RecyclerView এবং WebView ব্যবহার করে ইউটিউব ভিডিওগুলির একটি তালিকা প্রদর্শন এবং প্লে করা যায়। iframe এম্বেড পদ্ধতি ব্যবহার করা হয়েছে।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project নির্বাচন করুন এবং প্রজেক্ট সেটআপ করুন।

ধাপ ২: Gradle-এ ডিপেন্ডেন্সি যোগ করুন

build.gradle (Module: app) ফাইলে নিচের লাইব্রেরি যোগ করুন:

implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.cardview:cardview:1.0.0'

নোট: পুরানো support library বদলে AndroidX ব্যবহার করা ভালো।

ধাপ ৩: মূল লেআউট (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp"
    tools:context=".MainActivity">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

ধাপ ৪: ভিডিও আইটেম লেআউট (video_view.xml)

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="180dp" />

ধাপ ৫: ডেটা মডেল (YouTubeVideos.java)

public class YouTubeVideos {
    private String videoUrl;

    public YouTubeVideos() {}

    public YouTubeVideos(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public String getVideoUrl() { return videoUrl; }
    public void setVideoUrl(String videoUrl) { this.videoUrl = videoUrl; }
}

ধাপ ৬: RecyclerView অ্যাডাপ্টার (VideoAdapter.java)

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;

public class VideoAdapter extends RecyclerView.Adapter {
    private List youtubeVideoList;

    public VideoAdapter(List youtubeVideoList) {
        this.youtubeVideoList = youtubeVideoList;
    }

    @NonNull
    @Override
    public VideoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.video_view, parent, false);
        return new VideoViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull VideoViewHolder holder, int position) {
        holder.videoWeb.loadData(
            youtubeVideoList.get(position).getVideoUrl(),
            "text/html", "utf-8"
        );
    }

    @Override
    public int getItemCount() {
        return youtubeVideoList.size();
    }

    static class VideoViewHolder extends RecyclerView.ViewHolder {
        WebView videoWeb;
        VideoViewHolder(View itemView) {
            super(itemView);
            videoWeb = itemView.findViewById(R.id.webView);
            videoWeb.getSettings().setJavaScriptEnabled(true);
            videoWeb.setWebChromeClient(new WebChromeClient());
        }
    }
}

ধাপ ৭: MainActivity-এ ডেটা বাইন্ড করুন

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    RecyclerView recyclerView;
    List youtubeVideos = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = findViewById(R.id.recyclerView);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        // ইউটিউব iframe URL গুলো যোগ করুন
        youtubeVideos.add(new YouTubeVideos(
            ""
        ));
        youtubeVideos.add(new YouTubeVideos(
            ""
        ));
        // আরও ভিডিও যোগ করুন...

        VideoAdapter adapter = new VideoAdapter(youtubeVideos);
        recyclerView.setAdapter(adapter);
    }
}

ধাপ ৮: ম্যানিফেস্টে ইন্টারনেট পারমিশন যোগ করুন

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

ফলাফল

অ্যাপ চালু করলে একটি ভertiক্যাল স্ক্রোলযোগ্য তালিকায় ইউটিউব ভিডিওগুলো দেখাবে। প্রতিটি আইটেমে ভিডিও প্লে করা যাবে।

অ্যান্ড্রয়েড অ্যাপে ইউটিউব ভিডিও চালানোর পদ্ধতি
RecyclerView-এ ইউটিউব ভিডিও তালিকা
  1. অ্যান্ড্রয়েডে ভিডিও ছাড়া YouTube শোনার পদ্ধতি

  2. অ্যান্ড্রয়েডে YouTube ভিডিও ব্যাকগ্রাউন্ডে প্লে করার পদ্ধতি

  3. অ্যান্ড্রয়েড ও আইওএসে ভিডিও লুপে চালান: ধাপে ধাপে গাইড

  4. অ্যান্ড্রয়েড ও iOS-এ ইউটিউব অডিও ব্যাকগ্রাউন্ডে চালান: সহজ ধাপাবলি