我的 android 应用程序中有一个只读数据库,我会定期更新。该应用程序始终在其资产中携带最新版本的数据库。
我增加了传递给我的 SQLiteOpenHelper 子类的构造函数的版本号,将它(在本例中)提升到版本 4。
我有以下代码:
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// copy from assets to local storage; version really doesn't matter;
// DB will be opened from the target location.
copyDataBase();
}
当我调用以获取可读数据库时,会调用它:
SQLiteDatabase db = myDBHelper.getReadableDatabase();
// Here db.getVersion() correctly returns "4", the newVersion.
// db is also usable and has the correct data.
但是每次我调用 getReadableDatabase onUpgrade 时,都会从 oldVersion=3 调用到 newVersion=4。
任何想法为什么版本不坚持?