কম্পিউটার

অ্যান্ড্রয়েডে ডাটাবেসের সাথে রিসাইক্লারভিউ কীভাবে ব্যবহার করবেন?


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

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

build.gradle (মডিউল:অ্যাপ)

-এ নিম্নলিখিত নির্ভরতা যোগ করুন
বাস্তবায়ন 'com.android.support:recyclerview-v7:28.0.0'implementation 'com.android.support:cardview-v7:28.0.0'implementation 'com.android.support:design:28.0.0' 

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

  <বোতাম android:id="@+id/ btnAdd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_marginEnd="16dp" android:text="ADD" android:padding="2dp" android:layout_margin=layout_margin "4dp"/>

ধাপ 3 − নিচে উল্লিখিত লেআউট রিসোর্স ফাইল তৈরি করুন সংশ্লিষ্ট কোড যোগ করুন −

add_contacts.xml −

  

contact_list_layout.xml −

 <লিনিয়ারলেআউট android:layout_width="match_parent" android:layout_height="wrap_content"horizontation" android:padding="12dp">       

পদক্ষেপ 4৷ - একটি জাভা ক্লাস তৈরি করুন এবং ContactAdapter.java

-এ নিম্নলিখিত কোড যোগ করুন
 android.app.Activity আমদানি করুন; android.content.Context আমদানি করুন; android.content.DialogInterface আমদানি করুন; android.text.TextUtils আমদানি করুন; android.view.LayoutInflater আমদানি করুন; android.view.View; android.view আমদানি করুন৷ ViewGroup;import android.widget.EditText;import android.widget.Filter; import android.widget.Filterable; import android.widget.Toast; import java.util.ArrayList; import java.util.Objects;import android.app.compat .AlertDialog;import androidx.recyclerview.widget.RecyclerView;class ContactAdapter RecyclerView.Adapterফিল্টারযোগ্য { ব্যক্তিগত প্রসঙ্গ প্রসঙ্গ; ব্যক্তিগত ArrayList listContacts; ব্যক্তিগত ArrayList mArrayList; ব্যক্তিগত SqliteDatabase mDatabase; ContactAdapter(প্রসঙ্গ প্রসঙ্গ, ArrayList listContacts) { this.context =context; this.listContacts =listContacts; this.mArrayList =তালিকা যোগাযোগ; mDatabase =নতুন SqliteDatabase(প্রসঙ্গ); } @Override public ContactViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view =LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_list_layout, parent, false); নতুন ContactViewHolder (দেখুন); } @BindViewHolder(ContactViewHolder হোল্ডার, int পজিশন) { চূড়ান্ত পরিচিতি পরিচিতি =listContacts.get(position); holder.tvName.setText(contacts.getName()); holder.tvPhoneNum.setText(contacts.getPhno()); holder.editContact.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editTaskDialog(contacts); } }); holder.deleteContact.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mDatabase.deleteContact(contacts.getId()); ((ক্রিয়াকলাপ) প্রসঙ্গ).finish(); ivity(startA) (ক্রিয়াকলাপ) প্রসঙ্গ).getIntent()); } }); } @ওভাররাইড পাবলিক ফিল্টার getFilter() { নতুন ফিল্টার ফেরত () { @Override protected FilterResults performFiltering(CharSequence charSequence) { স্ট্রিং charString =charSequence.toString(); যদি (charString.isEmpty()) { listContacts =mArrayList; } else { ArrayList filteredList =নতুন ArrayList<>(); জন্য (পরিচিতি পরিচিতি:mArrayList) { if (contacts.getName().toLowerCase().contains(charString)) { filteredList.add(contacts); } } listContacts =filteredList; } ফিল্টার ফলাফল filterResults =নতুন ফিল্টার ফলাফল(); filterResults.values ​​=listContacts; রিটার্ন ফিল্টার ফলাফল; } @অভাররাইড সুরক্ষিত অকার্যকর প্রকাশের ফলাফল (চ্যারসিকোয়েন্স চারসিকোয়েন্স, ফিল্টার রেজাল্ট ফিল্টার রেজাল্ট) { listContacts =(ArrayList) filterResults.values; notifyDataSetChanged(); } }; } @Override public int getItemCount() { return listContacts.size(); } ব্যক্তিগত অকার্যকর সম্পাদনা টাস্ক ডায়ালগ (চূড়ান্ত পরিচিতি পরিচিতি) { LayoutInflater inflater =LayoutInflater.from(প্রসঙ্গ); সাবভিউ দেখুন =inflater.inflate(R.layout.add_contacts, null); চূড়ান্ত সম্পাদনা পাঠ্য নামফিল্ড =subView.findViewById(R.id.enterName); চূড়ান্ত সম্পাদনা টেক্সট contactField =subView.findViewById(R.id.enterPhoneNum); if (contacts !=null) { nameField.setText(contacts.getName()); contactField.setText(String.valueOf(contacts.getPhno())); } AlertDialog.Builder builder =new AlertDialog.Builder(context); builder.setTitle("যোগাযোগ সম্পাদনা করুন"); builder.setView(সাবভিউ); builder.create(); builder.setPositiveButton("সম্পাদনা যোগাযোগ", নতুন DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface ডায়ালগ, int which) { চূড়ান্ত স্ট্রিং নাম =nameField.getText().toString(); চূড়ান্ত স্ট্রিং phieldText =যোগাযোগ ().toString(); যদি (TextUtils.isEmpty(নাম)) { Toast.makeText(প্রসঙ্গ, "কিছু ভুল হয়েছে। আপনার ইনপুট মান পরীক্ষা করুন", Toast.LENGTH_LONG).show(); } অন্য { mDatabase.updateContacts( নতুন পরিচিতি(Objects.requireNonNull(contacts).getId(), নাম, ph_no)); ((ক্রিয়াকলাপ) প্রসঙ্গ)) শেষ (); context.startActivity(((Activity) প্রসঙ্গ).getIntent()); } } ); builder.setNegativeButton("বাতিল", নতুন DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface ডায়ালগ, int which) { Toast.makeText(প্রসঙ্গ, "টাস্ক বাতিল", Toast.LENGTH_LONG);(}}). ); builder.show(); }}

ধাপ 5 - একটি জাভা ক্লাস তৈরি করুন এবং Contacts.java

-এ নিম্নলিখিত কোড যোগ করুন <পূর্ব>পাবলিক ক্লাস পরিচিতি { ব্যক্তিগত int আইডি; ব্যক্তিগত স্ট্রিং নাম; ব্যক্তিগত স্ট্রিং ফোন নম্বর; পরিচিতি (স্ট্রিং নাম, স্ট্রিং phno) { this.name =name; this.phoneNumber =phno; } পরিচিতি (int id, String name, String phno) { this.id =id; this.name =নাম; this.phoneNumber =phno; } int getId() { রিটার্ন আইডি; } পাবলিক void setId(int id) { this.id =id; } পাবলিক স্ট্রিং getName() { রিটার্ন নাম; } public void setName(স্ট্রিং নাম) { this.name =name; } স্ট্রিং getPhno() { ফেরত ফোন নম্বর; } পাবলিক ভ্যাইড সেটফোন (স্ট্রিং phno) { this.phoneNumber =phno; }}

ধাপ 6 - একটি জাভা ক্লাস তৈরি করুন এবং ContactViewHolder.java

-এ নিম্নলিখিত কোড যোগ করুন
ইম্পোর্ট android.view.View;import android.widget.ImageView;import android.widget.TextView;import androidx.recyclerview.widget.RecyclerView;শ্রেণী ContactViewHolder RecyclerView.ViewHolder প্রসারিত করে { TextView tvName, tvNum; ইমেজভিউ মুছে ফেলুন যোগাযোগ; ইমেজভিউ সম্পাদনা যোগাযোগ; কন্টাক্টভিউহোল্ডার(আইটেমভিউ দেখুন) { সুপার(আইটেমভিউ); tvName =itemView.findViewById(R.id.contactName); tvPhoneNum =itemView.findViewById(R.id.phoneNum); deleteContact =itemView.findViewById(R.id.deleteContact); editContact =itemView.findViewById(R.id.editContact); }}

পদক্ষেপ 7 - একটি জাভা ক্লাস তৈরি করুন এবং নিম্নলিখিত কোডটি SqliteDatabase.java এ যোগ করুন

 android.content.ContentValues ​​আমদানি করুন; android.content.Context আমদানি করুন; android.database.Cursor আমদানি করুন; android.database.sqlite.SQLiteDatabase আমদানি করুন; android.database.sqlite.SQLiteOpenHelper; import. ক্লাস SqliteDatabase প্রসারিত SQLiteOpenHelper { ব্যক্তিগত স্ট্যাটিক ফাইনাল int DATABASE_VERSION =5; ব্যক্তিগত স্ট্যাটিক ফাইনাল স্ট্রিং DATABASE_NAME ="পরিচিতি"; ব্যক্তিগত স্ট্যাটিক ফাইনাল স্ট্রিং TABLE_CONTACTS ="পরিচিতি"; ব্যক্তিগত স্ট্যাটিক ফাইনাল স্ট্রিং COLUMN_ID ="_id"; ব্যক্তিগত স্ট্যাটিক ফাইনাল স্ট্রিং COLUMN_NAME ="যোগাযোগের নাম"; ব্যক্তিগত স্ট্যাটিক ফাইনাল স্ট্রিং COLUMN_NO ="ফোন নম্বর"; SqliteDatabase(প্রসঙ্গ প্রসঙ্গ) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Create(SQLiteDatabase db) উপর সর্বজনীন শূন্যতা ওভাররাইড করুন { স্ট্রিং CREATE_CONTACTS_TABLE ="টেবিল তৈরি করুন" + টেবিল_CONTACTS + "(" + COLUMN_ID + " পূর্ণসংখ্যা প্রাথমিক কী," + COLUMN_NAME" + "COLUMN_NAME" + "COLUMN_NAME" + "COLUMN_TEXT +" + INTERNOTEXT); db.execSQL(CREATE_CONTACTS_TABLE); } @Upgrade (SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("টেবিল ড্রপ করুন যদি বিদ্যমান থাকে" + TABLE_CONTACTS); onCreate(db); } ArrayList listContacts() { String sql ="" + TABLE_CONTACTS থেকে * নির্বাচন করুন; SQLiteDatabase db =this.getReadableDatabase(); ArrayList storeContacts =new ArrayList<>(); কার্সার কার্সার =db.rawQuery(sql, null); যদি (cursor.moveToFirst()) { do { int id =Integer.parseInt(cursor.getString(0)); স্ট্রিং নাম =cursor.getString(1); স্ট্রিং phno =cursor.getString(2); storeContacts.add(নতুন পরিচিতি (আইডি, নাম, phno)); } while (cursor.moveToNext()); } cursor.close(); ফেরত দোকান যোগাযোগ; } void addContacts(পরিচিতি পরিচিতি) { বিষয়বস্তু মান =নতুন বিষয়বস্তু মান(); values.put(COLUMN_NAME, contacts.getName()); values.put(COLUMN_NO, contacts.getPhno()); SQLiteDatabase db =this.getWritableDatabase(); db.insert(TABLE_CONTACTS, নাল, মান); } void updateContacts(পরিচিতি পরিচিতি) { বিষয়বস্তু মান =নতুন বিষয়বস্তু মান(); values.put(COLUMN_NAME, contacts.getName()); values.put(COLUMN_NO, contacts.getPhno()); SQLiteDatabase db =this.getWritableDatabase(); db.update(TABLE_CONTACTS, মান, COLUMN_ID + " =?", নতুন স্ট্রিং[]{String.valueOf(contacts.getId())}); } void deleteContact(int id) { SQLiteDatabase db =this.getWritableDatabase(); db.delete(TABLE_CONTACTS, COLUMN_ID + " =?", নতুন স্ট্রিং[]{String.valueOf(id)}); }}

ধাপ 8 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
 androidx.appcompat.app.AlertDialog আমদানি করুন; androidx.appcompat.app.AppCompatActivity আমদানি করুন; androidx.recyclerview.widget.LinearLayoutManager;আমদানি করুন androidx.recyclerview.widget.RecyclerView;import android.content.Android.content.Android.content.Android .Bundle;Import android.text.TextUtils;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast; java.util আমদানি করুন। ArrayList;পাবলিক ক্লাস MainActivity প্রসারিত করে AppCompatActivity { ব্যক্তিগত SqliteDatabase mDatabase; @ওভাররাইড সুরক্ষিত শূন্যতা onCreate(বান্ডেল savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RecyclerView contactView =findViewById(R.id.myContactList); LinearLayoutManager linearLayoutManager =new LinearLayoutManager(this); contactView.setLayoutManager(linearLayoutManager); contactView.setHasFixedSize(সত্য); mDatabase =নতুন SqliteDatabase(this); ArrayList allContacts =mDatabase.listContacts(); যদি (allContacts.size()> 0) { contactView.setVisibility(View.VISIBLE); ContactAdapter mAdapter =নতুন ContactAdapter (এটি, সব পরিচিতি); contactView.setAdapter(mAdapter); } অন্য { contactView.setVisibility(View.GONE); Toast.makeText(এটি, "ডাটাবেসে কোনো পরিচিতি নেই। এখনই যোগ করা শুরু করুন", টোস্ট.LENGTH_LONG).show(); } বোতাম btnAdd =findViewById(R.id.btnAdd); btnAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { addTaskDialog(); } }); } ব্যক্তিগত অকার্যকর addTaskDialog() { LayoutInflater inflater =LayoutInflater.from(this); সাবভিউ দেখুন =inflater.inflate(R.layout.add_contacts, null); চূড়ান্ত সম্পাদনা পাঠ্য নামফিল্ড =subView.findViewById(R.id.enterName); চূড়ান্ত সম্পাদনা পাঠ noField =subView.findViewById(R.id.enterPhoneNum); AlertDialog.Builder builder =new AlertDialog.Builder(this); builder.setTitle("নতুন যোগাযোগ যোগ করুন"); builder.setView(সাবভিউ); builder.create(); builder.setPositiveButton("যোগাযোগ যোগ করুন", নতুন DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface ডায়ালগ, int which) { চূড়ান্ত স্ট্রিং নাম =nameField.getText().toString(); চূড়ান্ত স্ট্রিং phieldt_no. ().toString(); if (TextUtils.isEmpty(name)) { Toast.makeText(MainActivity.this, "কিছু ভুল হয়েছে। আপনার ইনপুট মান পরীক্ষা করুন", Toast.LENGTH_LONG).show(); } অন্য { পরিচিতি নতুন যোগাযোগ =নতুন পরিচিতি (নাম, ph_no); mDatabase.addContacts(newContact); finish(); startActivity(getIntent()); } } }); builder.setNegativeButton("বাতিল", নতুন DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface ডায়ালগ, int which) { Toast.makeText(MainActivity.this, "টাস্ক বাতিল করা হয়েছে", টোস্ট_LENGTH); } }); builder.show(); } @ওভাররাইড সুরক্ষিত শূন্যতা onDestroy() { super.onDestroy(); যদি (mDatabase !=null) { mDatabase.close(); } } }

ধাপ 9 − androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
 <অ্যাপ্লিকেশন 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"> <অ্যাক্টিভিটি android:name=".MainActivity">      

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

অ্যান্ড্রয়েডে ডাটাবেসের সাথে রিসাইক্লারভিউ কীভাবে ব্যবহার করবেন?

অ্যান্ড্রয়েডে ডাটাবেসের সাথে রিসাইক্লারভিউ কীভাবে ব্যবহার করবেন?


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

  2. অ্যান্ড্রয়েডে নেস্টেডস্ক্রোলভিউয়ের ভিতরে রিসাইক্লারভিউ কীভাবে ব্যবহার করবেন?

  3. একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনের সাথে SQLite ডাটাবেস কিভাবে ব্যবহার করবেন?

  4. অ্যান্ড্রয়েডে রিসাইক্লারভিউ সহ অন্তহীন তালিকা কীভাবে বাস্তবায়ন করবেন?