我有一个带有3个表的sqlite的应用程序.我担心的是,如果我引入一个添加另一个表的更新(这样就是4个表),那么更新后的版本将消灭数据库.
如果备份在更新之前发生并且在更新之后恢复,我该如何备份/恢复数据库?如果我使用IO(复制到SD卡并复制回来),那么它将失败.
我想可能是将数据导出到xml并手动加载.还有另外一种方法吗?关于如何做的任何例子?
如果您只想添加新表,请注释掉onUpgrade()方法中的 DROP TABLE 命令。您可以完全控制其中的代码,onUpgrade()因此它可以是:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("CREATE TABLE ...");
}
Run Code Online (Sandbox Code Playgroud)
从技术上讲,您甚至不需要增加数据库版本,只要您有权访问数据库副本,db就可以执行 CREATE 语句。
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |