溫馨提示×

Android內(nèi)置SQLite的使用詳細介紹

小云
132
2023-08-11 14:51:13
欄目: 云計算

Android內(nèi)置SQLite是一種輕量級的數(shù)據(jù)庫管理系統(tǒng),用于在Android應(yīng)用程序中存儲和檢索數(shù)據(jù)。它提供了一個簡單的方法來創(chuàng)建和管理數(shù)據(jù)庫,并執(zhí)行各種SQL操作。

以下是使用Android內(nèi)置SQLite的詳細介紹:

  1. 導入SQLite庫:在Android項目的build.gradle文件中添加以下代碼,以導入SQLite庫。
dependencies {
implementation 'androidx.sqlite:sqlite:2.1.0'
}
  1. 創(chuàng)建數(shù)據(jù)庫:使用SQLiteOpenHelper類來創(chuàng)建和管理數(shù)據(jù)庫。創(chuàng)建一個繼承自SQLiteOpenHelper的類,并重寫onCreate()和onUpgrade()方法。
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 創(chuàng)建表格和初始化數(shù)據(jù)
String createTableQuery = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT)";
db.execSQL(createTableQuery);
String insertDataQuery = "INSERT INTO mytable (id, name) VALUES (1, 'John'), (2, 'Jane')";
db.execSQL(insertDataQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新數(shù)據(jù)庫結(jié)構(gòu)
String dropTableQuery = "DROP TABLE IF EXISTS mytable";
db.execSQL(dropTableQuery);
onCreate(db);
}
}
  1. 打開數(shù)據(jù)庫:在需要使用數(shù)據(jù)庫的地方,創(chuàng)建DatabaseHelper類的實例,并調(diào)用getWritableDatabase()或getReadableDatabase()方法來打開數(shù)據(jù)庫。
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase(); // 或者 dbHelper.getReadableDatabase();
  1. 執(zhí)行SQL操作:通過SQLiteDatabase對象執(zhí)行各種SQL操作,如插入、查詢、更新和刪除數(shù)據(jù)。
// 插入數(shù)據(jù)
ContentValues values = new ContentValues();
values.put("name", "Tom");
long newRowId = db.insert("mytable", null, values);
// 查詢數(shù)據(jù)
String[] projection = {"id", "name"};
String selection = "name = ?";
String[] selectionArgs = {"John"};
Cursor cursor = db.query("mytable", projection, selection, selectionArgs, null, null, null);
// 更新數(shù)據(jù)
ContentValues updatedValues = new ContentValues();
updatedValues.put("name", "Jack");
String whereClause = "id = ?";
String[] whereArgs = {"1"};
int rowsUpdated = db.update("mytable", updatedValues, whereClause, whereArgs);
// 刪除數(shù)據(jù)
String deleteQuery = "id = ?";
String[] deleteArgs = {"2"};
int rowsDeleted = db.delete("mytable", deleteQuery, deleteArgs);
  1. 關(guān)閉數(shù)據(jù)庫:在不再需要使用數(shù)據(jù)庫時,調(diào)用close()方法關(guān)閉數(shù)據(jù)庫。
db.close();

以上是使用Android內(nèi)置SQLite的詳細介紹。通過創(chuàng)建和管理數(shù)據(jù)庫,并執(zhí)行各種SQL操作,您可以在Android應(yīng)用程序中方便地存儲和檢索數(shù)據(jù)。

0