更新后保留SQLite数据

时间:2012-11-24 02:48:00

标签: android sqlite

我有一个带有3个表的sqlite的应用程序。我担心的是,如果我引入一个添加另一个表的更新(这样就是4个表),那么更新后的版本将消灭数据库。

如果备份在更新之前发生并且在更新之后恢复,我该如何备份/恢复数据库?如果我使用IO(复制到SD卡并复制回来),那么它将失败。

我在考虑将数据导出到xml并手动加载。还有另外一种方法吗?关于如何做的任何例子?

1 个答案:

答案 0 :(得分:4)

如果您只想添加新表,请在onUpgrade()方法中注释掉DROP TABLE命令。您可以完全控制onUpgrade()中的代码,因此它可以是:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("CREATE TABLE ...");
}

从技术上讲,您甚至不需要增加数据库版本,只要您有权访问db的副本,就可以执行CREATE语句。