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

অ্যান্ড্রয়েডে CopyOnWriteArrayList কীভাবে ব্যবহার করবেন?

CopyOnWriteArrayList چی?

CopyOnWriteArrayList হল ArrayList-এর একটি থ্রেড-সেফ (thread-safe) সংস্করণ। এটি অ্যাড (add), সেট (set) ইত্যাদি অপারেশন সম্পাদন করার সময় অন্তর্নিহিত অ্যারে (underlying array)-র একটি নতুন কপি তৈরি করে। ফলে একাধিক থ্রেড একটি সাথে লিস্ট অ্যাক্সেস করলেও ডেটা অক্ষত থাকে।

উদাহরণ: অ্যান্ড্রয়েডে CopyOnWriteArrayList ব্যবহার

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

Android Studio-তে File → New Project এ যান এবং প্রয়োজনীয় বিবরণ পূরণ করে একটি নতুন প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট ফাইল সংশোধন করুন (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>

উপরের কোডে CopyOnWriteArrayList-এর এলিমেন্টগুলো দেখানোর জন্য একটি TextView ব্যবহার করা হয়েছে।

ধাপ ৩: MainActivity.java-তে কোড যোগ করুন

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.util.concurrent.CopyOnWriteArrayList;

public class MainActivity extends AppCompatActivity {
    CopyOnWriteArrayList<String> copyOnWriteArrayList;

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        copyOnWriteArrayList = new CopyOnWriteArrayList<>();
        final TextView actionEvent = findViewById(R.id.actionEvent);

        // ডেটা যোগ করুন
        copyOnWriteArrayList.add("সাই");
        copyOnWriteArrayList.add("রাম");
        copyOnWriteArrayList.add("কৃষ্ণ");
        copyOnWriteArrayList.add("প্রসাদ");
        copyOnWriteArrayList.add("রাম"); // ডুপ্লিকেট আউটপুটে দেখাবে

        actionEvent.setText("" + copyOnWriteArrayList);
    }
}

অ্যাপ্লিকেশন রান করুন

আপনার অ্যান্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত আছে বলে অনুমান করছি। Android Studio-তে প্রজেক্টের অ্যাক্টিভিটি ফাইল খুলে টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস সিলেক্ট করুন এবং আউটপুট দেখুন।

অ্যান্ড্রয়েডে CopyOnWriteArrayList কীভাবে ব্যবহার করবেন?

  1. অ্যান্ড্রয়েডে LocalBroadcastManager ব্যবহারের পদ্ধতি

  2. অ্যান্ড্রয়েডে Handler ব্যবহারের পদ্ধতি

  3. এন্ড্রয়েডে ViewFlipper ব্যবহার করার পদ্ধতি

  4. অ্যান্ড্রয়েডে Snackbar ব্যবহার করার পদ্ধতি