兩個月前,我在Google Play商店中發佈了一個應用程序。現在我想發佈一個新版本的應用程序,但我必須修改數據庫。我必須創建一些新的列,並且必須刪除一些,但現在我害怕我的用戶會丟失他們的數據。在不丟失任何數據的情況下更改數據庫的最佳方式是什麼?Android更改數據庫的新版本關閉應用程序
-1
A
回答
2
假設你使用SQLiteOpenHelper
,增加你傳遞給它的構造函數的數據庫版本。將調用onUpgrade()
回調,以便您可以正確地遷移模式和用戶數據。您可以使用ALTER TABLE
添加列。要刪除列,您必須創建一個新表,將數據複製並刪除舊錶。 (您也可以使用ALTER TABLE
重命名錶格。)
+0
大多數情況下,你通常也可以離開列(假設他們沒有惱人的限制)。 Afaik,改變列的類型實際上是您絕對需要重新創建表格的唯一情況。 – njzk2
相關問題
- 1. 當iPhone上的應用程序版本更改時,sqlite數據庫更新
- 2. 更新Android應用程序數據庫
- 3. SQLiteOpenHelper即使在數據庫版本更改並卸載後,也不會更新數據庫Android應用程序
- 4. 數據庫沒有更新的應用程序版本2
- 5. 更改Android應用程序中的laucher活動更新版本
- 6. 如何更新應用程序的數據而無需更新應用程序版本? (android應用程序)
- 7. Android處理應用程序更新和數據庫更改
- 8. 更新html表格版本(網絡應用程序)數據庫
- 9. Phonegap應用程序數據庫版本更新後保留
- 10. 在數據庫刷新之前遠程關閉應用程序
- 11. iOS - 更新新應用程序版本中的數據結構
- 12. Android SQLite數據庫更新表時更新應用程序
- 13. Android處理與更新有關的數據庫版本
- 14. 在新的應用程序版本中更新了核心數據庫
- 15. 更新數據庫的應用程序
- 16. Android應用程序沒有關閉遊標或數據庫
- 17. 當應用程序關閉時清除sqlite數據庫android
- 18. Android應用程序 - 關閉sqlite數據庫問題
- 19. Android應用程序強制關閉數據庫連接嘗試
- 20. 應用程序未關閉遊標或數據庫對象android
- 21. Android應用程序在向數據庫輸入值時關閉
- 22. 在應用程序關閉時檢查Firebase數據庫中的更改
- 23. 新版本的Android應用程序
- 24. 最新版本的Android應用程序的力更新
- 25. 更新應用程序的Rails版本
- 26. 應用程序的本地數據庫將與應用程序的更新版本相同
- 27. 更新iPhone應用程序刪除舊版本的數據
- 28. 新Android應用程序數據庫
- 29. 更新Android應用程序到最新版本的OpenSSL
- 30. Android應用程序關閉
如果您發佈了迄今爲止已嘗試過的內容,儘可能詳細(儘可能多地使用代碼),這會非常有幫助。簡而言之,您需要執行從舊結構到新結構的數據庫遷移 - 但如果您可以更具體地處理您的問題,則可以更輕鬆地爲您提供幫助。 –