android–SQLite onUpgrade()

android–SQLite onUpgrade(),第1张

概述我在android中的SQLite数据库中遇到了问题.在我的SQLiteOpenHelper类的onCreate(SQLiteDatabasedb)方法中,我正在创建表.现在我已将此应用程序上传到Playstore.现在我想我在这些表格中需要多一个coloumn.如果我在playstore中放置应用程序的更新(在onCreate()方法中使用新查询),

我在android中的sqlite数据库中遇到了问题.

在我的sqliteOpenHelper类的onCreate(sqliteDatabase db)方法中,我正在创建表.现在我已将此应用程序上传到Playstore.现在我想我在这些表格中需要多一个coloumn.

如果我在playstore中放置应用程序的更新(在onCreate()方法中使用新查询),下次将调用OnUpgrade()方法,因此不会再次创建表.

所以请告诉我在重新安装或更新应用程序时有没有办法删除sqlite数据库..或者在重新安装之前删除整个应用程序?

解决方法:

1.关于onCreate()和onUpdate()

只要新安装了应用程序,就会调用onCreate(..).每当升级和启动应用程序且数据库版本不同时,都会调用onUpgrade.

你需要一个像这样的构造函数:

2.增加db版本

MyOpenHelper(Context context) {super(context, "dbname", null, 2);}

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

3.不要忘记你的新用户!

别忘了添加

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 总结

以上是内存溢出为你收集整理的android – SQLite onUpgrade()全部内容,希望文章能够帮你解决android – SQLite onUpgrade()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1120037.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存