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