更新后保留SQLite数据
我有一个应用程序,它拥有一个包含3个表的sqlite。 我担心的是,如果我引入一个添加另一个表的更新(所以这是4个表),那么更新后的版本将会清除数据库。
如果在更新之前发生备份和更新之后的还原,我如何备份/还原数据库? 如果我使用IO(复制到SD卡并复制),则它会失败。
我想可能是将数据导出到xml并手动加载。 有另一种方法吗? 任何关于如何做的例子?
如果您只是想添加一个新表,请在onUpgrade()
方法中注释掉DROP TABLE命令。 您可以完全控制onUpgrade()
中的代码,以便它可以:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("CREATE TABLE ...");
}
从技术上讲,你甚至都不需要增加的数据库版本,随时随地可以访问的副本db
,你可以执行你的CREATE语句。