两个月前,我在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应用程序关闭
如果您发布了迄今为止已尝试过的内容,尽可能详细(尽可能多地使用代码),这会非常有帮助。简而言之,您需要执行从旧结构到新结构的数据库迁移 - 但如果您可以更具体地处理您的问题,则可以更轻松地为您提供帮助。 –