微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何测试升级sqlite数据库,然后在Android上的Play Store上载我的应用程序的新版本

在更新应用程序版本后,我上传的应用程序中没有这样的表格找到“table_name”.测试后我出来,只有将旧版本的应用程序升级到新版本的应用程序后才会收到此问题

我已经实现了

我已经在onUpgrade()方法中完成了代码,并且在构造函数升级了db版本,但是我无法在设备中测试它.

步骤1)增加版本代码1到2

public databasehelper(Context context) {

        super(context,DATABASE_NAME,null,2);
        this.myContext = context;
        try {
            createDataBase();
            openDataBase();
        } catch (IOException e) {
            e.printstacktrace();
        }

    }

步骤2)将新表添加到onUpgrade()方法

@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);
        }

    }

步骤3)新版本的数据库的onCreate()方法.

@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?

请帮我解决这个问题.

答案将不胜感激.提前致谢.

解决方法

数据库中存储的数据库版本.只需创建一个具有旧版本的db(db_old),而不是在您的DbHelper中.使用DbHelper连接到db_old,你的onUpgrade方法将被调用.

您可以使用现有的db作为db_old,只是减少它的版本.要更改版本,您可以使用任何sqlite数据库编辑器.

如果不想为DbHelper编写测试并想要模拟应用程序升级,可以使用adb install -r命令. Read more here.

原文地址:https://www.jb51.cc/android/125363.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐