在更新应用程序版本后,我上传的应用程序中没有这样的表格找到“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?
请帮我解决这个问题.
答案将不胜感激.提前致谢.