我在更新應用程序版本後在我上傳的應用程序中沒有發現此類表的表「table_name」。我測試我得到這個問題後,纔將舊版本的應用程序升級到新版本的應用程序的如何測試升級sqlite數據庫,然後上傳我的應用程序的新版本在Android商店的Play商店
我在onUpgrade已經實現
我已經做了代碼()方法也出來後在構造函數中升級數據庫版本,但我無法在設備中測試它。
步驟1)增加版本代碼1至2
public databasehelper(Context context) {
super(context, DATABASE_NAME, null, 2);
this.myContext = context;
try {
createDataBase();
openDataBase();
} catch (IOException e) {
e.printStackTrace();
}
}
步驟2)添加新的表爲onUpgrade()方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.e("onUpgrade db", ">>>>called");
switch (oldVersion) {
case 1:
db.execSQL(DATABASE_CREATE_notification_counter);
Log.e("db version", ">>>"+oldVersion);
// we want both updates, so no break statement here...
case 2:
Log.e("db version", ">>>"+oldVersion);
// I removed onCreate() method from here because new version will already have the new table
// onCreate(db);
}
}
步驟3)的onCreate ()方法用於新版本的數據庫。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE_notification_counter);
Log.d("oncreate db", ">>>>called");
}
我已經得到了解決升級數據庫link1link2link3link4
爲什麼我無法測試它
我們已上載於Play商店付費應用程序,所以我一定要考分貝模擬器或設備中的升級方法使用兩個不同的apk意味着舊版本和較新的版本.. 和我在設備上第一次使用舊版本和新版本進行了測試(數據庫更改與添加db中的新表),但此時不會調用onUpgrade()方法。
問:
1)我怎麼能測試數據庫的 Play商店更新新版本之前,升級?
2)只有當您僅從Play商店 更新版本時纔會打電話?
請幫我解決這個問題。
將不勝感激。提前致謝。
你爲什麼不簡單地連續安裝兩個版本?我無法理解這裏缺少的東西 – njzk2
@ njzk2其實我已經在我的代碼中進行了升級數據庫的更改,所以我不能直接從eclipse直接安裝舊版本,而對於新版本,我已經通過兩種方式進行了測試,只需簡單安裝即可簽署apk但沒有運氣。 – Maulik
你沒有你之前版本的來源? – njzk2