কম্পিউটার

অ্যান্ড্রয়েড রিসাইক্লার ভিউ দিয়ে কাজ করছে


রিসাইক্লার ভিউ হল লিস্টভিউ এর আরও উন্নত সংস্করণ এবং ভিউ হোল্ডার ডিজাইন প্যাটার্নের উপর ভিত্তি করে কাজ করে। রিসাইক্লারভিউ ব্যবহার করে আমরা গ্রিডের পাশাপাশি আইটেমগুলির একটি তালিকা দেখাতে পারি।

এই উদাহরণটি দেখায় যে কীভাবে একটি সুন্দর স্টুডেন্ট রেকর্ড অ্যাপ তৈরি করে রিসাইক্লারভিউকে সংহত করতে হয় যা বয়সের সাথে ছাত্রের নাম প্রদর্শন করে৷

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − build.gradle খুলুন এবং রিসাইক্লার ভিউ লাইব্রেরি নির্ভরতা যোগ করুন।

apply plugin: 'com.android.application'
android {
   compileSdkVersion 28
   defaultConfig {
      applicationId "com.example.andy.tutorialspoint"
      minSdkVersion 19
      targetSdkVersion 28
      versionCode 1
      versionName "1.0"
      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   }
   buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
   }
}
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.android.support:design:28.0.0'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   implementation 'com.android.support:recyclerview-v7:28.0.0'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

ধাপ 3 − res/layout/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"
   xmlns:app="https://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   app:layout_behavior="@string/appbar_scrolling_view_behavior"
   tools:showIn="@layout/activity_main"
   tools:context=".MainActivity">
   <android.support.v7.widget.RecyclerView
      android:id="@+id/recycler_view"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:scrollbars="vertical"
    />
</RelativeLayout>

উপরের কোডে, আমরা আপেক্ষিক প্যারেন্ট লেআউট হিসাবে উইন্ডো ম্যানেজারে রিসাইক্লার ভিউ যুক্ত করেছি।

পদক্ষেপ 4৷ − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
package com.example.andy.tutorialspoint;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
   private RecyclerView recyclerView;
   private StudentAdapter studentAdapter;
   private List studentDataList =new ArrayList<>();
   @TargetApi(Build.VERSION_CODES.O)
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      recyclerView = findViewById(R.id.recycler_view);
      studentAdapter=new StudentAdapter(studentDataList);
      RecyclerView.LayoutManager manager=new LinearLayoutManager(this);
      recyclerView.setLayoutManager(manager);
      recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
      recyclerView.setAdapter(studentAdapter);
      StudentDataPrepare();
   }
   private void StudentDataPrepare() {
      studentData data=new studentData("sai",25);
      studentDataList.add(data);
      data=new studentData("sai",25);
      studentDataList.add(data);
      data=new studentData("raghu",20);
      studentDataList.add(data);
      data=new studentData("raj",28);
      studentDataList.add(data);
      data=new studentData("amar",15);
      studentDataList.add(data);
      data=new studentData("bapu",19);
      studentDataList.add(data);
      data=new studentData("chandra",52);
      studentDataList.add(data);
      data=new studentData("deraj",30);
      studentDataList.add(data);
      data=new studentData("eshanth",28);
      studentDataList.add(data);
   }
}

উপরের কোডে, আমরা একটি রিসাইক্লার ভিউ এবং StudentAdapter যোগ করেছি। সেই স্টুডেন্ট অ্যাডাপ্টারে, আমরা StudentDatalistকে ArrayList হিসেবে পাস করেছি। স্টুডেন্টে, ডেটা তালিকায় ছাত্রের নাম এবং বয়স থাকে।

ধাপ 5 − src/ StudentAdapter.java সংশোধিত ফাইলের বিষয়বস্তু নিম্নরূপ।

package com.example.andy.tutorialspoint;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
class StudentAdapter extends RecyclerView.Adapter {
   List studentDataList;
   public StudentAdapter(List studentDataList) {
      this.studentDataList=studentDataList;
   }
   @NonNull
   @Override
   public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
      View itemView = LayoutInflater.from(viewGroup.getContext())
      .inflate(R.layout.student_list_row, viewGroup, false);
      return new MyViewHolder(itemView);
   }
   @Override
   public void onBindViewHolder(MyViewHolder viewHolder, int i) {
      studentData data=studentDataList.get(i);
      viewHolder.name.setText(data.name);
      viewHolder.age.setText(String.valueOf(data.age));
   }
   @Override
   public int getItemCount() {
      return studentDataList.size();
   }
   class MyViewHolder extends RecyclerView.ViewHolder {
      TextView name,age;
      public MyViewHolder(View itemView) {
         super(itemView);
         name=itemView.findViewById(R.id.name);
         age=itemView.findViewById(R.id.age);
      }
   }
}

অ্যাডাপ্টার ক্লাসে, নীচে দেখানো হিসাবে আমাদের চারটি পদ্ধতি রয়েছে -

onCreateViewHolder() - এটি একটি ভিউ হোল্ডার তৈরি করতে ব্যবহৃত হয় এবং এটি একটি ভিউ প্রদান করে৷

onBindViewHolder() - এটি তৈরি করা ভিউ হোল্ডারের সাথে আবদ্ধ হবে৷

getItemCount() - এতে তালিকার আকার রয়েছে৷

MyViewHolder ক্লাস - এটি ভিউ হোল্ডার অভ্যন্তরীণ শ্রেণী যা RecyclerView.ViewHolder

দ্বারা প্রসারিত

ধাপ 6 − নিচে xml res/layout/student_list_row.xml-এর পরিবর্তিত বিষয়বস্তু রয়েছে।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:orientation="horizontal" android:layout_width="match_parent"
   android:weightSum="1"
   android:layout_height="wrap_content">
<TextView
   android:id="@+id/name"
   android:layout_width="0dp"
   android:layout_weight="0.5"
   android:gravity="center"
   android:textSize="15sp"
   android:layout_height="100dp" />
   <TextView
      android:id="@+id/age"
      android:layout_width="0dp"
      android:layout_weight="0.5"
      android:gravity="center"
      android:textSize="15sp"
      android:layout_height="100dp" />
</LinearLayout>

উপরের তালিকা আইটেম ভিউতে, আমরা নাম এবং বয়সের জন্য দুটি পাঠ্য ভিউ তৈরি করেছি।

পদক্ষেপ 7 − সংশোধিত ফাইল src/ studentData.java এর বিষয়বস্তু নিম্নরূপ।

package com.example.andy.tutorialspoint;
class studentData {
   String name;
   int age;
   public studentData(String name, int age) {
      this.name=name;
      this.age=age;
   }
}

উপরের কোডে স্টুডেন্ট ডাটা অবজেক্ট সম্পর্কে জানানো হয়েছে। আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -

অ্যান্ড্রয়েড রিসাইক্লার ভিউ দিয়ে কাজ করছে

এখন নিচে স্ক্রোল করুন। এটি নীচে দেখানো ফলাফলটি দেখায় -

অ্যান্ড্রয়েড রিসাইক্লার ভিউ দিয়ে কাজ করছে


  1. অ্যান্ড্রয়েডে বৃত্তাকার কোণগুলির সাথে কাস্টম ডায়ালগ কীভাবে তৈরি করবেন?

  2. অ্যান্ড্রয়েডে কাস্টম ডায়ালগ ভিউ অ্যাকশন সহ কাস্টম ডায়ালগ কীভাবে তৈরি করবেন?

  3. ভাইব্রেশন, সাউন্ড, অ্যাকশন এবং বিগ ভিউ শৈলী সহ Android বিজ্ঞপ্তির উদাহরণ

  4. কন্ট্রোলার সমর্থন সহ সেরা iOS এবং Android গেম