我为我的 android 应用程序实现了一个 ContentProvider,它运行良好,但是当我对架构进行一些更改时,数据库似乎没有升级。我的 SQLiteOpenHelper 中有以下代码:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(DEBUG_TAG, "Upgrading database. Existing contents will be lost. ["
+ oldVersion + "]->[" + newVersion + "]");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_TUTORIALS);
onCreate(db);
}
如果我使用新架构更新我的应用程序,那么我的所有插入都会失败,但是如果我卸载旧版本并安装新版本的应用程序,那么一切正常。所以我猜永远不会调用 onUpgrade() 。oldVersion 和 newVersion 指的是什么?我需要在任何地方指定版本吗?