2011-09-21 131 views
0

我正在開發一個應用程序,當用戶選擇應用程序升級過程時,我必須更新我的數據庫。簡單地說,我想在我的應用程序遷移到新版本時進行數據庫更改。 如何完成這項工作,請提出建議。如何在應用程序升級過程中升級我的數據庫?

我開發一個應用程序,其已經在市場上的一些版本現在我想發佈一個更新到我的應用程序,但我沒有得到任何信息,如何做到這一點。它是否像一個正常的apk文件創建?如果是的話我需要使用任何adb命令來測試這個apk文件嗎?請建議.. !!!

感謝, 拉姆。

+0

從哪裏要更新您的數據庫? – user370305

回答

1

請參閱this文檔瞭解有關SQLiteOpenHelper的信息。它提供了用於執行更新的功能,以及onCreates(創建數據庫時)。

onUpgrade方法應該工作的方式是將db,舊版本號和新版本號傳遞給它,以便您可以對其進行比較。你會做這樣的事情:

public void onUpgrade(SQLiteDatabase db, int oldVer, int newVer) 
{ 
    if (oldVer == 1 && newVer == 2) 
    { 
     db.exec("ALTER TABLE tbl_names RENAME TO names"); 
     //..... 

    } 


} 

版本號通常爲一個類級別的變量的地方無論是在你的SQLiteOpenHelper或您的主數據庫存儲幫手。

這將需要重新啓動您的應用程序。如果您指的是用戶進行應用內升級的能力,那麼這可能對您無效。

0

如果您使用SQLiteOpenHelper(您應該),只需覆蓋onUpgrade方法。然後,每當你的數據庫結構發生變化時,你就調用數據庫的版本號。在開發指南的數據存儲上閱讀this topic。另外,看看實現這個的NotePad樣本。