更新应用时的Android SQLite数据库更新表

时间:2016-08-02 08:39:01

标签: android sqlite upgrade updates

我有情况:

在较新版本的应用程序中,我将向SQLite表添加另一列。我需要使此更改在应用程序更新时生效,并且不会丢失数据库中的数据(通过使用新结构重新创建)。

可能在onUpgrade中启动我的SQL Update脚本吗?如何正确地做到这一点?

1 个答案:

答案 0 :(得分:3)

您必须在onCreate()中升级数据库版本,然后使用onUpgrade()。像这样:

public YouSQLiteHandler(Context context) {
    super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION); --> 1 to 2 for example


}

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


    addNewColumnTable();
}

当您更改数据库版本时,Android会自动调用onUpgrade(),并且当您更新应用时,您将使用onUpgrade()中的所有更改更新您的数据库

更多信息:

http://www.michenux.net/android-database-sqlite-creation-upgrade-245.html