关于onCreate()和onUpgrade()

每当应用程序刚安装时,调用onCreate(..)。每当应用程序升级并启动并且数据库版本不同时,将调用onUpgrade。

2.增加db版本

你需要一个构造函数:

MyOpenHelper(Context context) {

super(context, "dbname", null, 2); // 2 is the database version

}

重要信息:单独增加应用程序版本不足以调用onUpgrade!

不要忘记你的新用户!

不要忘记添加

database.execSQL(DATABASE_CREATE_color);

到您的onCreate()方法,或新安装的应用程序将缺乏表。

4.如何处理随时间的多个数据库更改

当你有连续的应用程序升级,其中几个有数据库升级,你想确保检查oldVersion:

onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

switch(oldVersion) {

case 1:

db.execSQL(DATABASE_CREATE_color);

// we want both updates, so no break statement here...

case 2:

db.execSQL(DATABASE_CREATE_someothertable);

}

}

这样,当用户从版本1升级到版本3时,他们将获得这两个更新。当用户从版本2升级到3,他们只是得到修订版3更新…毕竟,你不能指望100%的用户基础升级每次发布更新。有时他们跳过更新或12 🙂

5.在开发时保持您的修订版本号码受到控制

终于…打电话

adb uninstall

完全卸载应用程序。当您再次安装时,您可以确保打开onCreate,这使您不必在开发时不断将数据库版本增加到平流层中…

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐