Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个带有 3 个表的 sqlite 的应用程序。我担心的是,如果我引入一个添加另一个表(所以是 4 个表)的更新,那么更新的版本将清除数据库。
鉴于备份发生在更新之前和更新之后的恢复,我如何备份/恢复数据库?如果我使用 IO 进行操作(复制到 SD 卡并复制回来),那么它将失败。
我可能正在考虑将数据导出到 xml 并手动加载。还有其他方法吗?关于如何做到这一点的任何例子?
onUpgrade()如果您只是想添加一个新表,请在您的方法中注释掉 DROP TABLE 命令。您可以完全控制其中的代码,onUpgrade()因此它可以是:
onUpgrade()
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("CREATE TABLE ..."); }
从技术上讲,您甚至不需要增加数据库版本,只要您可以访问副本,db就可以执行您的 CREATE 语句。
db