我在我的android應用程序中有一個只讀數據庫,我定期更新。該應用程序始終在其資產中攜帶最新版本的數據庫。SQLiteOpenHelper onUpgrade多次調用
我增加,我傳入構造爲我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。
任何想法爲什麼版本不粘?
這可能有助於查看您的代碼,瞭解如何從您的活動中調用這些代碼。 – Nate 2012-07-16 21:17:26