Android - 数据库更新后保留数据

时间:2015-09-09 11:02:21

标签: android android-sqlite

我有一个应用程序,允许用户在数据库中添加一些数据。

如果我想通过对数据库进行一些更改来对应用程序进行更新,则在更新之后将重新创建数据库,因此,用户将丢失他/她在应用程序上创建的所有数据。

有没有办法"保持"重新创建数据库之前的用户数据?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用public abstract void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) 在需要升级数据库时调用。实现应使用此方法删除表,添加表或执行升级到新架构版本所需的任何其他操作。

可以在此处找到SQLite ALTER TABLE文档。如果添加新列,则可以使用ALTER TABLE将它们插入到实时表中。如果重命名或删除列,可以使用ALTER TABLE重命名旧表,然后创建新表,然后使用旧表的内容填充新表。

此方法在事务中执行。如果抛出异常,则将自动回滚所有更改。

相关问题