2016-10-20 47 views
0

显然我的问题是关于直接更新,而不是卸载旧版本,然后安装新版本。没有关于它在StackOverflow上讨论过的内容,所以我向大家问问,因为我不知道Android在执行更新时会做什么。如果我修补Android应用程序,我现有的SQLite数据库将被删除,然后重新创建?

如果答案是“是的,你的数据库将被删除,然后重新创建”,那么我怎么能不在更新过程中做到这一点?

谢谢

回答

1

默认情况下,您的数据库不会被删除。虽然很常见的例子,人们似乎遵循其SQLiteDatabaseHelper是这样的:

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

现在,当您创建一个新的SQLiteDatabaseHelper和你在一个versionNumber这比前一个高通,onUpgrade将被调用,表将被丢弃。如果版本相同,将会发生而不是。同样,如果版本号较低,onDowngrade也会发生同样的情况。

相关问题