অ্যান্ড্রয়েড অ্যাপে SQLite ডাটাবেস ব্যবহার করা একটি গুরুত্বপূর্ণ বিষয়। নিচে ধাপে ধাপে এটি আলোচনা করা হলো:
১. SQLite কি?
SQLite হল একটি লাইটওয়েট, ফাইল-ভিত্তিক রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম। এটি অ্যান্ড্রয়েড প্ল্যাটফর্মে ডেটা সংরক্ষণের জন্য বহুল ব্যবহৃত।
২. কেন SQLite ব্যবহার করব?
* সহজ ব্যবহারযোগ্য: SQLite সেটআপ করা এবং ব্যবহার করা খুব সহজ।
* হালকা: এটির জন্য বেশি রিসোর্স প্রয়োজন হয় না।
* স্থায়ী ডেটা স্টোরেজ: অ্যাপ বন্ধ হয়ে গেলেও ডেটা সংরক্ষিত থাকে।
* অ্যান্ড্রয়েডের সাথে ইন্টিগ্রেটেড: অ্যান্ড্রয়েড প্ল্যাটফর্মের সাথে এটি বিল্ট-ইন থাকে।
৩. অ্যান্ড্রয়েড অ্যাপে SQLite ব্যবহারের ধাপ:
* SQLiteOpenHelper ক্লাস ব্যবহার করে ডাটাবেস তৈরি:
* একটি ক্লাস তৈরি করুন যা SQLiteOpenHelper ক্লাস থেকে এক্সটেন্ড করবে।
* onCreate() মেথডে ডাটাবেস টেবিল তৈরি করার জন্য SQL কোড লিখুন।
* onUpgrade() মেথডে ডাটাবেস ভার্সন আপগ্রেড করার জন্য কোড লিখুন।
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "mydatabase.db";
public static final int DATABASE_VERSION = 1;
public static final String TABLE_NAME = "mytable";
public static final String COLUMN_ID = "id";
public static final String COLUMN_NAME = "name";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
* ডাটাবেস অ্যাক্সেস:
* SQLiteDatabase ক্লাসের অবজেক্ট তৈরি করে ডাটাবেস অ্যাক্সেস করুন।
* ডাটা ইনসার্ট, আপডেট, ডিলিট এবং কোয়েরি করার জন্য বিভিন্ন মেথড ব্যবহার করুন।
DatabaseHelper dbHelper = new DatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase(); // রাইট করার জন্য
// অথবা
SQLiteDatabase db = dbHelper.getReadableDatabase(); // শুধু পড়ার জন্য
* ডাটা ইনসার্ট:
ContentValues values = new ContentValues();
values.put(DatabaseHelper.COLUMN_NAME, "John Doe");
long newRowId = db.insert(DatabaseHelper.TABLE_NAME, null, values);
* ডাটা কোয়েরি:
Cursor cursor = db.query(
DatabaseHelper.TABLE_NAME,
new String[]{DatabaseHelper.COLUMN_ID, DatabaseHelper.COLUMN_NAME},
null, null, null, null, null
);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndexOrThrow(DatabaseHelper.COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(DatabaseHelper.COLUMN_NAME));
// ডেটা ব্যবহার করুন
} while (cursor.moveToNext());
}
cursor.close();
* ডাটা আপডেট:
ContentValues values = new ContentValues();
values.put(DatabaseHelper.COLUMN_NAME, "Jane Doe");
String selection = DatabaseHelper.COLUMN_ID + " LIKE ?";
String[] selectionArgs = {String.valueOf(1)};
int count = db.update(
DatabaseHelper.TABLE_NAME,
values,
selection,
selectionArgs);
* ডাটা ডিলিট:
String selection = DatabaseHelper.COLUMN_ID + " LIKE ?";
String[] selectionArgs = {String.valueOf(1)};
int deletedRows = db.delete(DatabaseHelper.TABLE_NAME, selection, selectionArgs);
* ডাটাবেস বন্ধ করুন:
db.close();
এই ধাপগুলি অনুসরণ করে আপনি অ্যান্ড্রয়েড অ্যাপে SQLite ডাটাবেস ব্যবহার করতে পারবেন। ।