আজকের পর্বে আমরা ডাটাবেস SQLite এবং প্রোজেক্ট এর সেটআপ-২ সম্পর্কে আলোচনা করব। গত পর্বে আমরা activity_main.xml এ ডিক্লিয়ার করা Value গুলো কে MainActivity.java তে সেটআপ করেছিলাম। আজকের পর্বে আমরা ডাটাবেস তৈরি এবং অন্যান্য প্রয়োজনীয় সেটআপ সম্পন্ন করব। প্রথমেই আমরা main.xml এ ডিক্লিয়ার করা সেভ বাটন এর onClick এ save কে মেথড আকারে MainActivity.java তে সেটআপ করব।
package com.code.androiddatabase; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { EditText etName, etEducat, etEmail, etMobile; Button btnSave, btnAllContact; String name, educat, email, mobile; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etName = (EditText) findViewById(R.id.etName); etEducat = (EditText) findViewById(R.id.etEducat); etEmail = (EditText) findViewById(R.id.etEmail); etMobile = (EditText) findViewById(R.id.etMobile); btnSave = (Button) findViewById(R.id.btnSave); btnAllContact = (Button) findViewById(R.id.btnAllContact); } public void save(View v) { name = etName.getText().toString(); educat = etEducat.getText().toString(); email = etEmail.getText().toString(); mobile = etMobile.getText().toString(); Toast.makeText(getApplicationContext(), "Successfully Saved", Toast.LENGTH_LONG).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
Save মেথডে EdiText এ ইনপুট দেয়া value গুলোকে String এ রুপান্তর করার জন্য EditText এর প্রত্যেক value কে getText().toString(); এভাবে সেটআপ করে দেই। তারপর সেভ বাটন এ প্রেস করার পর একটি নোটিফিকেশান আসার জন্য Toast মেথডটি সেটআপ করে দেই। তারপর আমদের ডাটাগুলো সেভ থাকার জন্য একটি জাভা ক্লাস ফাইল লাগবে। তাহলে নতুন একটি জাভা ক্লাস ফাইল DatabaseContents তৈরি করি।
DatabaseContents ক্লাসকে extends করি SQLiteOpenHelper ক্লাস দ্বারা।SQLiteOpenHelper হচ্ছে একটি হেল্পার ক্লাস যা ডাটাবেস তৈরি এবং এর ভার্সন ম্যানেজমেন্ট করার জন্য ব্যবহার করা হয়।SQLiteOpenHelper ক্লাস দ্বারা extends করার পর এরর প্রদর্শন করলে DatabaseContents এর constructor এবং onCreate ও onUpgrade মেথড দ্বারা তা দূর করেতে হবে। এখানে onUpgrade এমন একটি মেথড যা ডাটাবেসের ভার্সন পরিবর্তন এর সময় ব্যবহার করা হয়।
package com.code.androiddatabase; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DatabaseContents extends SQLiteOpenHelper { public static String DB_NAME = "Contact_Details"; public static String CONTACT = "contact"; public static String CONTACT_NAME = "name"; public static String CONTACT_ID = "id"; public static String CONTACT_EDUCAT = "educat"; public static String CONTACT_EMAIL = "email"; public static String CONTACT_MOBILE = "mobile"; public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + CONTACT + " (id INTEGER PRIMARY KEY AUTOINCREMENT, " + " name TEXT, " + " educat TEXT, " + " email TEXT, " + " mobile TEXT);"; public DatabaseContents(Context context) { super(context, DB_NAME, null, 1); } @Override public void onCreate(SQLiteDatabase database) { database.execSQL(CREATE_TABLE_SQL); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { } }
তারপর String আকারে ডাটাবেসের নাম,ডাটাবেসের টেবিল এবং অন্যান্য মান গুলো ডিক্লিয়ার করি। এবং একটি ডাটাবেস টেবিল তৈরি করার জন্য উপরের কোডগুলোর মত ডিক্লিয়ার করি। এখানে CONTACT হচ্ছে টেবিল এবং এর ভিতরে অন্যান্য মানগুলো ডিক্লিয়ার করে দেয়া হয়েছে।এখানে গুরত্তপূর্ণ হচ্ছে প্রত্যেক মান এর শেষে একটা করে স্পেস থাকতে হবে না হলে এরর প্রদর্শন করতে পারে।
তারপর আমরা DatabaseContents এর constructor টি সেটআপ করব। এর মধ্যে দিয়ে শুধুমাত্র আমরা Context এর মান গুলো সেন্ড করব।এবং super এর ভিতর অন্যান্য মান গুলোও সেটআপ করে দেই। এরপর onCreate মেথডের ভিতর আমাদের টেবিলটি execute করার জন্য database.execSQL(CREATE_TABLE_SQL); এভাবে ডিক্লিয়ার করে দিতে হবে।
এইছিল আজকের ডাটাবেস SQLite এবং প্রোজেক্ট এর সেটআপ-২ এর পর্ব
এন্ড্রয়েড ডেভেলপমেন্ট এর সর্বশেষ পর্ব সম্পর্কে নোটিফিকেশান পেতে লাইক করুন ফেসবুকের এই পেইজে এ।
আমি নাঈম হায়দার ঋদ্ধি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 76 টি টিউন ও 44 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 6 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
Computer ও Programming পছন্দ, আমার youtube channel https://www.youtube.com/channel/UCYKbAf2kXLgKav30hd3zDPQ . আমার ফেসবুক প্রোফাইল https://www.facebook.com/nayeem.riddhi
vai eta diye ki apps er version banai