来自以前版本的Android应用程序使用SQLite的数据

时间:2014-07-30 13:29:43

标签: android eclipse sqlite

我正在使用SQLite来构建测验应用。我实施了一些问题,一切都很好。然后我注意到其中一个是不正确的,我说得对。当我将应用程序运行到模拟器时没有任何改变。经过一些研究后,我发现我必须手动擦除曾经运行过的设备中的所有数据。

有没有比手动擦除数据更好的方法来解决这类问题?

1 个答案:

答案 0 :(得分:0)

如果更改数据库的结构,还需要增加DB的版本。通过这样做,将调用SQLiteOpenHelper onUpgrade方法。您可以执行任何查询使用wish是这种方法,但在您的情况下,只需删除表并调用onCreate方法就可以了。

    private class MyHelper extends SQLiteOpenHelper{

    private final static String DATABASE_NAME = "dbname.db";
    private final static int VERSION = 23; //you need to increase this


    public MyHelper(Context context) {
        super(context, DATABASE_NAME, null, VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) { 
        db.execSQL(QUERY_CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i2) {
        db.execSQL(Query_DROP_TABLE);
        onCreate(db);
    }
}