2011-12-10 39 views
0

我有一個關於應用程序的升級過程的問題,更具體地說,升級或更改數據庫。database onUpgrade

考慮到我有testapp.apk版本1。這個版本有數據庫版本1,新版本的testapp.apk有數據庫版本2.現在,如果我要升級我的testapp.apk,升級之前會從舊版本升級onUpgrade,還是隻需調用新版本的onUpgrade?

回答

0

它將運行新版本。升級應用程序時,它不會運行,它只是將新應用程序複製到舊應用程序上。然後,當它運行時,它只會有onUpgrade()的新版本。

-1

onUpgrade代碼只會在最新安裝的apk上調用。

您的新testapp.apk將首先安裝。然後,在第一次訪問數據庫時,SQLiteOpenHelper將檢查數據庫的現有版本,並將其與您在testapp.apk中指定的新版本進行比較。

如果新版本大於舊版本,onUpgrade將在新的testapp.apk中的SQLiteOpenHelper上調用。

請看我對這個類似問題的回答,因爲我認爲這將有助於解釋onCreate/onUpgrade/onDowngrade上的 的機制。

how do i create the database in my android app?