SQLite 是一种轻量级的关系型数据库管理系统,而在 Android 中,SQLite 被广泛用于本地数据存储。Android 提供了 SQLiteOpenHelper
类来管理 SQLite 数据库的创建和版本控制,以及 SQLiteDatabase
类来执行 SQL 操作。
以下是使用 SQLite 数据库在 Android 中的一般步骤:
1. 创建一个数据库帮助类(SQLiteOpenHelper):
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建数据库表的 SQL 语句
String createTableQuery = "CREATE TABLE mytable ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "age INTEGER);";
// 执行创建表的操作
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 在数据库升级时执行的操作
// 可以根据需要进行数据迁移等操作
}
}
2. 使用数据库帮助类创建或打开数据库:
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
3. 执行 SQL 操作:
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("age", 25);
db.insert("mytable", null, values);
// 查询数据
Cursor cursor = db.query("mytable", null, null, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
// 处理查询结果
}
// 更新数据
ContentValues updateValues = new ContentValues();
updateValues.put("age", 26);
db.update("mytable", updateValues, "name=?", new String[]{
"John"});
// 删除数据
db.delete("mytable", "name=?", new String[]{
"John"});
4. 关闭数据库连接:
dbHelper.close();
上述代码中,DBHelper
类继承自 SQLiteOpenHelper
,并在其 onCreate
方法中定义了数据库表的创建语句。在 onUpgrade
方法中,你可以处理数据库升级时的操作,例如迁移数据。
通过 getWritableDatabase()
方法获取可写的数据库连接,然后可以执行插入、查询、更新和删除等操作。最后,在不再需要使用数据库时,通过 close()
方法关闭数据库连接。
注意:上述代码是一个简单的示例,实际应用中可能需要更复杂的数据表设计、错误处理和异步操作等。