SQLite 是 Android 中用于存储数据的轻量级数据库。它是一个自包含的、无服务器的、零配置的 SQL 数据库引擎,广泛用于移动应用程序。
创建数据库
你可以通过扩展 SQLiteOpenHelper 类来创建和管理数据库。
java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS my_table");
onCreate(db);
}
}
插入数据
使用 SQLiteDatabase 对象插入数据。
java
public void insertData(String name) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
db.insert("my_table", null, values);
db.close();
}
查询数据
可以使用 Cursor 对象来查询数据。
java
public Cursor getData() {
SQLiteDatabase db = this.getReadableDatabase();
return db.rawQuery("SELECT * FROM my_table", null);
}
更新和删除数据
更新和删除数据也可以通过 SQLiteDatabase 对象完成。
java
public void updateData(int id, String newName) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", newName);
db.update("my_table", values, "id = ?", new String[]{String.valueOf(id)});
db.close();
}
public void deleteData(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete("my_table", "id = ?", new String[]{String.valueOf(id)});
db.close();
}