在Android中,使用SQLite數據庫非常常見,它是一種輕量級的關系型數據庫管理系統。以下是使用SQLite的一般步驟:
創建一個SQLite數據庫:使用SQLiteOpenHelper
類來創建和管理數據庫。此類負責創建數據庫文件、升級數據庫結構、打開和關閉數據庫連接等操作。
定義數據表結構:使用SQL語句創建表格,指定表名、列名和列類型等。
執行SQL操作:通過SQLiteDatabase
類的實例來執行各種SQL語句,如插入、查詢、更新和刪除等。
處理數據:根據需要,可以使用Cursor
類來獲取查詢結果,并對結果進行處理,例如遍歷結果集、提取特定數據等。
下面是一個簡單的示例,演示如何創建一個數據庫表、插入數據和查詢數據:
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "my_table";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_NAME = "name";
public MyDatabaseHelper(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) {
// 更新數據庫結構的邏輯
}
}
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_NAME, "John");
long rowId = db.insert(TABLE_NAME, null, values);
db.close();
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getReadableDatabase();
String[] projection = {COLUMN_ID, COLUMN_NAME};
String selection = COLUMN_NAME + " = ?";
String[] selectionArgs = {"John"};
Cursor cursor = db.query(
TABLE_NAME,
projection,
selection,
selectionArgs,
null,
null,
null
);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
// 對數據進行處理
}
cursor.close();
db.close();
這只是一個簡單的示例,SQLite在Android中的用法非常豐富,還可以進行復雜的查詢、更新和刪除操作,以及使用事務來確保數據的一致性。