0
显然我的问题是关于直接更新,而不是卸载旧版本,然后安装新版本。没有关于它在StackOverflow上讨论过的内容,所以我向大家问问,因为我不知道Android在执行更新时会做什么。如果我修补Android应用程序,我现有的SQLite数据库将被删除,然后重新创建?
如果答案是“是的,你的数据库将被删除,然后重新创建”,那么我怎么能不在更新过程中做到这一点?
谢谢
显然我的问题是关于直接更新,而不是卸载旧版本,然后安装新版本。没有关于它在StackOverflow上讨论过的内容,所以我向大家问问,因为我不知道Android在执行更新时会做什么。如果我修补Android应用程序,我现有的SQLite数据库将被删除,然后重新创建?
如果答案是“是的,你的数据库将被删除,然后重新创建”,那么我怎么能不在更新过程中做到这一点?
谢谢
默认情况下,您的数据库不会被删除。虽然很常见的例子,人们似乎遵循其SQLiteDatabaseHelper
是这样的:
void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) {
// DROP TABLES
}
现在,当您创建一个新的SQLiteDatabaseHelper
和你在一个versionNumber
这比前一个高通,onUpgrade
将被调用,表将被丢弃。如果版本相同,将会发生而不是。同样,如果版本号较低,onDowngrade
也会发生同样的情况。