কম্পিউটার

একটি তালিকা ভিউতে একটি অ্যান্ড্রয়েড চেকবক্সে একটি ডাটাবেস থেকে ডেটা কীভাবে আবদ্ধ করবেন?


এই উদাহরণটি দেখায় কিভাবে একটি ডাটাবেস থেকে একটি তালিকা ভিউতে একটি অ্যান্ড্রয়েড চেকবক্সে ডেটা আবদ্ধ করতে হয়৷

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

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:layout_height="match_parent"
   tools:context=".MainActivity">
   <ListView
      android:id="@+id/listView"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout>

ধাপ 3 − res/layout/row_item.xml এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:padding="10dp"
   android:layout_width="match_parent"
   android:layout_height="wrap_content">
   <TextView
      android:id="@+id/txtName"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_centerVertical="true"
      android:textSize="16sp" />
   <CheckBox
      android:id="@+id/checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentEnd="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentTop="true" />
</RelativeLayout>

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

-এ নিম্নলিখিত কোড যোগ করুন
package com.app.sample;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import java.util.ArrayList;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
   ArrayList dataModels;
   ListView listView;
   private CustomAdapter adapter;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      listView = (ListView) findViewById(R.id.listView);
      dataModels = new ArrayList();
      dataModels.add(new DataModel("Apple Pie", false));
      dataModels.add(new DataModel("Banana Bread", false));
      dataModels.add(new DataModel("Cupcake", false));
      dataModels.add(new DataModel("Donut", true));
      dataModels.add(new DataModel("Eclair", true));
      dataModels.add(new DataModel("Froyo", true));
      dataModels.add(new DataModel("Gingerbread", true));
      dataModels.add(new DataModel("Honeycomb", false));
      dataModels.add(new DataModel("Ice Cream Sandwich", false));
      dataModels.add(new DataModel("Jelly Bean", false));
      dataModels.add(new DataModel("Kitkat", false));
      dataModels.add(new DataModel("Lollipop", false));
      dataModels.add(new DataModel("Marshmallow", false));
      dataModels.add(new DataModel("Nougat", false));
      adapter = new CustomAdapter(dataModels, getApplicationContext());
      listView.setAdapter(adapter);
      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         @Override
         public void onItemClick(AdapterView parent, View view, int position, long id) {
            DataModel dataModel= (DataModel) dataModels.get(position);
            dataModel.checked = !dataModel.checked;
            adapter.notifyDataSetChanged();
         }
      });
   }
}

ধাপ 5 − src/DataModel.java

-এ নিম্নলিখিত কোড যোগ করুন
package com.app.sample;
public class DataModel {
   public String name;
   boolean checked;
   DataModel(String name, boolean checked) {
      this.name = name;
      this.checked = checked;
   }
}

ধাপ 6 − src/CustomAdapter.java

-এ নিম্নলিখিত কোড যোগ করুন
package com.app.sample;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.annotation.NonNull;
import java.util.ArrayList;
public class CustomAdapter extends ArrayAdapter{
   private ArrayList dataSet;
   Context mContext;
   // View lookup cache
   private static class ViewHolder {
      TextView txtName;
      CheckBox checkBox;
   }
   public CustomAdapter(ArrayList data, Context context) {
      super(context, R.layout.row_item, data);
      this.dataSet = data;
      this.mContext = context;
   }
   @Override
   public int getCount() {
      return dataSet.size();
   }
   @Override
   public DataModel getItem(int position) {
      return (DataModel) dataSet.get(position);
   }
   @Override
   public View getView(int position, View convertView, @NonNull ViewGroup parent){
      ViewHolder viewHolder;
      final View result;
      if (convertView == null) {
         viewHolder = new ViewHolder();
         convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_item, parent, false);
         viewHolder.txtName = (TextView) convertView.findViewById(R.id.txtName);
         viewHolder.checkBox = (CheckBox) convertView.findViewById(R.id.checkBox);
         result=convertView;
         convertView.setTag(viewHolder);
      } else {
         viewHolder = (ViewHolder) convertView.getTag();
         result=convertView;
      }
      DataModel item = getItem(position);
      viewHolder.txtName.setText(item.name);
      viewHolder.checkBox.setChecked(item.checked);
      return result;
   }
}

ধাপ 7 - নিম্নলিখিত কোডটি Manifests/AndroidManifest.xml এ যোগ করুন

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.app.sample">
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

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

একটি তালিকা ভিউতে একটি অ্যান্ড্রয়েড চেকবক্সে একটি ডাটাবেস থেকে ডেটা কীভাবে আবদ্ধ করবেন?


  1. অ্যান্ড্রয়েড লিস্টভিউতে ফুটার কীভাবে যুক্ত করবেন?

  2. অ্যান্ড্রয়েডে আমার লিস্টভিউয়ের জন্য কাস্টম অ্যাডাপ্টার কীভাবে যুক্ত করবেন?

  3. কিভাবে ListView এর পুনর্ব্যবহার প্রক্রিয়া Android এ কাজ করে?

  4. অ্যান্ড্রয়েডে ডেটা কীভাবে বাঁধবেন