升级只读数据库

时间:2014-07-08 14:40:52

标签: android database

我使用SQLiteAssetHelper将现成的数据库导入我的应用。 现在我想发布我的数据库的第二个版本,但是当用户更新应用程序时,数据库没有更新。我看到文档,看到我必须使用setForcedUpgrade(),但我不知道在哪里使用它,如果你指导我,我会很感激。 :)

MyDatabase.java:

public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;

public MyDatabase(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);

}}

我用这些阅读数据库:

    MyDatabase my;

    SQLiteDatabase sq;

    my = new MyDatabase(getApplicationContext());

    sq = my.getWritableDatabase();

谢谢你。

2 个答案:

答案 0 :(得分:3)

对于你的例子:

    public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;

public MyDatabase(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);

//FORCE UPGRADE BY DELETING OLD DATABASE
setForcedUpgrade(DATABASE_VERSION);

}}

答案 1 :(得分:0)

在Android中,您应该使用SQLiteOpenHelper(http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html)。继承您自己的类并覆盖onCreateonUpgrade