如果我修补Android应用程序,我的现有SQLite数据库将被删除然后重新创建?

时间:2016-10-20 20:35:21

标签: android sqlite updates

显然我的问题是关于DIRECT UPDATE而不是卸载旧版本然后安装新版本。 StackOverflow上没有讨论它,所以我要问你们所有人,因为我不知道Android在执行更新时会做些什么。

如果答案是"是的,您的数据库将被删除然后重新创建",那么在更新期间我怎么能不这样做?

谢谢

1 个答案:

答案 0 :(得分:1)

默认情况下不会删除您的数据库。虽然人们似乎遵循SQLiteDatabaseHelper的一个非常常见的例子是:

void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) {
   // DROP TABLES
}

现在,当您创建新的SQLiteDatabaseHelper并传入高于前一个的versionNumber时,将调用onUpgrade并删除表格。如果版本相同,这将发生。同样,如果版本号较低,onDowngrade也会发生同样的情况。