// Do you need this?private static int DATAbase_VERSION = 2;
是的,您需要这个。(甚至更好,
final也要做到。)
这将告诉数据库帮助程序最新版本的数据库架构。这应该在您的应用程序代码中固定,并在更改架构时递增。
当您的应用程序启动时,帮助程序会在运行时检查您的代码最新版本是否与上次创建或升级数据库时处于活动状态的版本相同。(这是做什么
db.getVersion()的。)如果数字不匹配,则帮助程序会知道存储的数据库相对于您的应用程序代码而言已过时,因此它将运行升级例程。
好像您不是从头开始创建数据库,而是从资产中导入现有数据库。进行初始导入时,这是确保存储的版本与代码版本匹配的时间;或者将其直接应用于资产中的数据库文件,或者,如果确定资产中的数据库文件与代码匹配,则调用
setVersion(DATAbase_VERSION)。
无论如何,您都不应尝试在
onUpgrade()例程中修改版本号。仅在版本不匹配时才调用此方法,并且您在这里要做的就是进行任何必要的更改以使数据库保持最新。升级完成后,帮助程序将管理新版本号的存储。



