其他分享
首页 > 其他分享> > android – 更新apk时更新db

android – 更新apk时更新db

作者:互联网

在我的Android应用程序中,我创建了包含一些数据的数据库,它位于应用程序商店.现在我需要根据新的要求更改数据库.当我更新apk文件时,它不会再次创建新的数据库,因为它已经创建.

如何更新已在用户设备上创建的数据库?我怎样才能调用sqlite db的onUpgread()方法?有没有办法在模拟器上检查它?
请建议.谢谢.

 @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS " +TABLE_NAME );

      onCreate(db);

}

解决方法:

如果数据库版本已增加,则会自动调用onUpgrade方法.

创建数据库时,您将构造函数的版本号作为整数提供.例如.

public class DatabaseHelper extends SQLiteOpenHelper{

static final String dbName = "myDatabase";
static int dbVersion = 3;

    public DatabaseHelper(Context context) {
        super(context, dbName, null, dbVersion);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // Create database
    }

如果增加上面的dbVersion,当再次创建数据库时,它会看到该数字已增加,因为它会跟踪您发送的当前版本号.值的增加将触发升级并运行该代码.

在onUpgrade方法中,您可以指定不同版本号之间的操作.例如,在版本2和3之间可能会对数据库进行更改,但也会在3到4之间进行更改,在这种情况下,您需要处理将从2连续跳到4的人员,他们不会更新他们的开发人员可能喜欢的APK文件!

执行此操作的一种简单方法是使用if语句并按顺序更新数据库,以便按时间顺序处理升级.

标签:database,android,sqlite,onupdate
来源: https://codeday.me/bug/20190620/1247802.html