在更新应用程序版本后,我上传的应用程序中没有这样的表格找到“table_name”.测试后我出来,只有将旧版本的应用程序升级到新版本的应用程序后才会收到此问题
我已经实现了
我已经在onUpgrade()方法中完成了代码,并且在构造函数中升级了db版本,但是我无法在设备中测试它.
public databasehelper(Context context) { super(context,DATABASE_NAME,null,2); this.myContext = context; try { createDataBase(); openDataBase(); } catch (IOException e) { e.printstacktrace(); } }
@Override public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { Log.e("onUpgrade db",">>>>called"); switch (oldVersion) { case 1: db.execsql(DATABASE_CREATE_notification_counter); Log.e("db version",">>>"+oldVersion); // we want both updates,so no break statement here... case 2: Log.e("db version",">>>"+oldVersion); // I removed onCreate() method from here because new version will already have the new table // onCreate(db); } }
@Override public void onCreate(sqliteDatabase db) { db.execsql(DATABASE_CREATE_notification_counter); Log.d("oncreate db",">>>>called"); }
我有解决方案升级数据库link1 link2 link3 link4
为什么我无法测试
我们已经在游戏商店上传了付费应用程序,所以我必须在模拟器或设备中使用两种不同的apk方式测试数据库升级方法旧版本和较新版本.
并且我已经在设备中首先使用旧版本进行测试,然后再使用新版本(db更改,db中添加新表),但是onUpgrade()方法此时不会被调用.
题:
1) How can I test db upgrade before updating new version on the
play store?2) It will call only when you update the version from play store
only?
请帮我解决这个问题.
答案将不胜感激.提前致谢.
解决方法
原文地址:https://www.jb51.cc/android/125363.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。