跳到主要内容

简述请继承 SQLiteOpenHelper 实现 ?

参考答案:

SQLiteOpenHelper 是 Android 提供的一个帮助类,用于管理 SQLite 数据库的创建和版本管理。通过继承 SQLiteOpenHelper 类并重写其一些方法,可以更容易地管理 SQLite 数据库。以下是一个基本的实现示例:

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 = "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,"
                + "email 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);
    }
}

在这个示例中,MyDatabaseHelper 类继承了 SQLiteOpenHelper。在构造函数中,我们传入了上下文(Context)对象,数据库名称(DATABASE_NAME),一个可选的游标工厂(这里为 null),以及数据库版本号(DATABASE_VERSION)。

onCreate 方法在数据库首次创建时调用。在这个方法中,我们可以编写创建表的 SQL 语句。

onUpgrade 方法在数据库版本升级时调用。在这个方法中,我们可以编写处理数据库升级的代码,例如删除旧表,创建新表等。

要使用这个 MyDatabaseHelper 类,我们只需在需要访问数据库的地方实例化它,然后调用 getWritableDatabasegetReadableDatabase 方法来获取一个 SQLiteDatabase 实例,从而进行数据库操作。例如:

MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 进行数据库操作

这就是一个简单的使用 SQLiteOpenHelper 的实现示例。