SQLiteOpenHelper onUpgrade newVersion

时间:2018-06-29 13:41:12

标签: android android-sqlite

我无法理解Android onUpgradeSQLiteOpenHelper方法的用法以及该newVersion参数的用途。

假设我有以下课程:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    private static final String DB_FILE_NAME = "mydatabase.db";
    private static final int DB_VERSION = 1;

    public MySQLiteOpenHelper(Context context) {
        super(context, DB_FILE_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        // Create the tables for version 1
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {

    }
}

现在我需要新版本的数据库时,可以将DB_VERSION增至2,替换CREATE TABLE中的onCreate()代码并编写新的{{1 }}:

onUpgrade()

到目前为止很好,现在我更新另一个时间:将 @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) { // Do stuff to upgrade from 1 to 2 } 增至DB_VERSION,替换3中的CREATE TABLE代码并附加内容onCreate()

onUpgrade()

如果我错误地理解了用法,请纠正我,但这是我的问题: 如果一切正常, @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) { switch (oldVersion) { case 1: // Do stuff to upgrade from 1 to 2 case 2: // Do stuff to upgrade from 2 to 3 } } 需要做什么??我无法想到一个用例,在这种情况下我们可以假设Version-4-Database-Helper可以升级Version-2-数据库到4以外的任何版本!?

0 个答案:

没有答案