2014-04-03 111 views
-1

兩個月前,我在Google Play商店中發佈了一個應用程序。現在我想發佈一個新版本的應用程序,但我必須修改數據庫。我必須創建一些新的列,並且必須刪除一些,但現在我害怕我的用戶會丟失他們的數據。在不丟失任何數據的情況下更改數據庫的最佳方式是什麼?Android更改數據庫的新版本關閉應用程序

+0

如果您發佈了迄今爲止已嘗試過的內容,儘可能詳細(儘可能多地使用代碼),這會非常有幫助。簡而言之,您需要執行從舊結構到新結構的數據庫遷移 - 但如果您可以更具體地處理您的問題,則可以更輕鬆地爲您提供幫助。 –

回答

2

假設你使用SQLiteOpenHelper,增加你傳遞給它的構造函數的數據庫版本。將調用onUpgrade()回調,以便您可以正確地遷移模式和用戶數據。您可以使用ALTER TABLE添加列。要刪除列,您必須創建一個新表,將數據複製並刪除舊錶。 (您也可以使用ALTER TABLE重命名錶格。)

+0

大多數情況下,你通常也可以離開列(假設他們沒有惱人的限制)。 Afaik,改變列的類型實際上是您絕對需要重新創建表格的唯一情況。 – njzk2

相關問題