2014-04-03 202 views
-1

两个月前,我在Google Play商店中发布了一个应用程序。现在我想发布一个新版本的应用程序,但我必须修改数据库。我必须创建一些新的列,并且必须删除一些,但现在我害怕我的用户会丢失他们的数据。在不丢失任何数据的情况下更改数据库的最佳方式是什么?Android更改数据库的新版本关闭应用程序

+0

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

回答

2

假设你使用SQLiteOpenHelper,增加你传递给它的构造函数的数据库版本。将调用onUpgrade()回调,以便您可以正确地迁移模式和用户数据。您可以使用ALTER TABLE添加列。要删除列,您必须创建一个新表,将数据复制并删除旧表。 (您也可以使用ALTER TABLE重命名表格。)

+0

大多数情况下,你通常也可以离开列(假设他们没有恼人的限制)。 Afaik,改变列的类型实际上是您绝对需要重新创建表格的唯一情况。 – njzk2

相关问题