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

Android ListView-এ Vector ক্লাস কীভাবে ব্যবহার করবেন?

Android ListView-এ Vector ক্লাস ব্যবহার করার টিউটোরিয়াল

এই উদাহরণে দেখানো হয়েছে Android ListView-এ Vector ক্লাস কীভাবে ব্যবহার করবেন।

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

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:tools = "https://schemas.android.com/tools" 
    android:layout_width = "match_parent" 
    android:layout_height = "match_parent" 
    tools:context = ".MainActivity" 
    android:orientation = "vertical"> 
    <EditText 
        android:id = "@+id/name" 
        android:layout_width = "match_parent" 
        android:hint = "নাম লিখুন" 
        android:layout_height = "wrap_content" /> 
    <LinearLayout 
        android:layout_width = "wrap_content" 
        android:layout_height = "wrap_content"> 
        <Button 
            android:id = "@+id/save" 
            android:text = "সংরক্ষণ" 
            android:layout_width = "wrap_content" 
            android:layout_height = "wrap_content" /> 
        <Button 
            android:id = "@+id/refresh" 
            android:text = "রিফ্রেশ" 
            android:layout_width = "wrap_content" 
            android:layout_height = "wrap_content" /> 
    </LinearLayout> 
    <ListView 
        android:id = "@+id/listView" 
        android:layout_width = "match_parent" 
        android:layout_height = "wrap_content"> 
    </ListView> 
</LinearLayout>

উপরের কোডে নামের জন্য একটি EditText নেওয়া হয়েছে। Save বাটনে ক্লিক করলে ডেটা Vector-এ সংরক্ষিত হবে। Refresh বাটনে ক্লিক করলে ListView-এ পরিবর্তনগুলো দেখাবে।

স্টেপ ৩: src/MainActivity.java-এ কোড যোগ করুন

package com.example.andy.myapplication; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.EditText; 
import android.widget.ListView; 
import android.widget.Toast; 
import java.util.Vector; 

public class MainActivity extends AppCompatActivity { 
    EditText name; 
    ArrayAdapter vectorAdapter; 
    Vector<String> vector_list; 
    private ListView listView; 
    
    @Override 
    protected void onCreate(Bundle readdInstanceState) { 
        super.onCreate(readdInstanceState); 
        setContentView(R.layout.activity_main); 
        vector_list = new Vector<String>(); 
        name = findViewById(R.id.name); 
        listView = findViewById(R.id.listView); 
        
        findViewById(R.id.refresh).setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                vectorAdapter.notifyDataSetChanged(); 
                listView.invalidateViews(); 
                listView.refreshDrawableState(); 
            } 
        }); 
        
        findViewById(R.id.save).setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                if (!name.getText().toString().isEmpty()) { 
                    vector_list.add(name.getText().toString()); 
                    vectorAdapter = new ArrayAdapter(MainActivity.this, 
                        android.R.layout.simple_list_item_1, vector_list); 
                    listView.setAdapter(vectorAdapter); 
                    Toast.makeText(MainActivity.this, "সংরক্ষিত হয়েছে", Toast.LENGTH_LONG).show(); 
                } else { 
                    name.setError("নাম লিখুন"); 
                } 
            } 
        }); 
    } 
}

Vector ক্লাস ব্যাখ্যা

Vector জাভার একটি লিগ্যাসি ক্লাস যা ArrayList-এর মতো ডাইনামিক অ্যারে ইমপ্লিমেন্ট করে। Vector এবং ArrayList-এর মূল পার্থক্য হলো Vector সিঙ্ক্রোনাইজড (thread-safe), অর্থাৎ একসাথে একাধিক থ্রেড থেকে অ্যাক্সেস করলে কোনো সমস্যা হয় না। কিন্তু সিঙ্ক্রোনাইজেশনের কারণে Vector কিছুটা ধীরগতির। আধুনিক অ্যাপ্লিকেশনে সাধারণত ArrayList বা CopyOnWriteArrayList ব্যবহার করা ভালো।

অ্যাপ্লিকেশন চালান

Android Studio-তে Run আইকনে ক্লিক করে অ্যাপ চালান। ডিভাইস সিলেক্ট করুন।

Android ListView-এ Vector ক্লাস কীভাবে ব্যবহার করবেন?

উপরের ফলাফলে ভেক্টর এলিমেন্টের নামগুলো অ্যাডাপ্টারের মাধ্যমে ListView-এ দেখানো হয়েছে।

  1. Android-এ ArrayBlockingQueue ব্যবহার করার পদ্ধতি

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

  3. অ্যান্ড্রয়েডে ConcurrentLinkedQueue ব্যবহার

  4. অ্যান্ড্রয়েডে ConcurrentLinkedDeque ব্যবহার