我有一个Android应用程序,我准备发布,我正在审查我的一些代码。我担心我SQLiteOpenHelper
的实施情况。具体来说,我想验证oldVersion
方法中newVersion
和onUpgrade
引用的内容。这是基于AndroidManifest.xml中的versionCode
吗?或者这个值是完全独立的,特定于数据库的?如果是后者,数据库如何确定版本?
答案 0 :(得分:4)
这是基于AndroidManifest.xml中的versionCode吗?
通常情况下,除非您每次向应用发布升级时都升级架构,即使这样,“基于”也大概是巧合。
或者这个值是完全独立的,特定于数据库的吗?
是。每次有新的数据库模式时都会增加版本。
如果是后者,数据库如何确定版本?
在每个onCreate()
和onUpgrade()
上,Android都会将新版本的数据库架构粘贴到数据库的元数据表中。这就是Android在您将来使用帮助程序时检查的内容,将存储的值与您在SQLiteOpenHelper
构造函数中提供的值进行比较。