面试题答案
一键面试在Gradle文件中添加相关依赖
在项目的build.gradle
(通常是app/build.gradle
)文件中添加SQLite依赖,Android项目默认已支持SQLite,无需额外添加第三方库依赖。不过如果需要对SQLite进行一些扩展功能,例如使用SQLCipher
对数据库加密等情况,可能会添加相关依赖。一般情况如下:
dependencies {
// 无需额外添加SQLite依赖,Android SDK已包含
}
初始化SQLiteOpenHelper的要点
- 创建SQLiteOpenHelper子类
继承
SQLiteOpenHelper
类,并重写其构造函数和onCreate
、onUpgrade
方法。
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.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 createTableSql = "CREATE TABLE users (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT," +
"age INTEGER)";
db.execSQL(createTableSql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库版本升级时的处理,例如删除旧表并创建新表
if (oldVersion < newVersion) {
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
}
}
- 获取数据库实例
在需要使用数据库的地方,通过创建
MyDatabaseHelper
实例来获取SQLiteDatabase
对象。
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase(); // 获取可写数据库
// 或者
// SQLiteDatabase db = dbHelper.getReadableDatabase(); // 获取可读数据库
在获取数据库对象后,就可以执行各种数据库操作,如插入、查询、更新、删除等。注意在使用完数据库后,要及时关闭数据库连接,避免内存泄漏。
db.close();