什么是基于SQLiteOpenHelper的版本号?

时间:2013-06-23 15:10:21

标签: android version sqliteopenhelper database-versioning

我有一个Android应用程序,我准备发布,我正在审查我的一些代码。我担心我SQLiteOpenHelper的实施情况。具体来说,我想验证oldVersion方法中newVersiononUpgrade引用的内容。这是基于AndroidManifest.xml中的versionCode吗?或者这个值是完全独立的,特定于数据库的?如果是后者,数据库如何确定版本?

1 个答案:

答案 0 :(得分:4)

  

这是基于AndroidManifest.xml中的versionCode吗?

通常情况下,除非您每次向应用发布升级时都升级架构,即使这样,“基于”也大概是巧合。

  

或者这个值是完全独立的,特定于数据库的吗?

是。每次有新的数据库模式时都会增加版本。

  

如果是后者,数据库如何确定版本?

在每个onCreate()onUpgrade()上,Android都会将新版本的数据库架构粘贴到数据库的元数据表中。这就是Android在您将来使用帮助程序时检查的内容,将存储的值与您在SQLiteOpenHelper构造函数中提供的值进行比较。