如何在重启app时删除SQLite数据库?

时间:2016-05-09 15:22:07

标签: android database sqlite android-sqlite

我为我的android应用程序开发了一个SQLite数据库,我想调试它。我在这里创建表格:

String CREATE_ROUTES_TABLE = 
       "CREATE TABLE IF NOT EXISTS" + DATABASE_INTERNAL_NAME + " ( " +
        PRIMARY_KEY + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        ROUTE_ID + " TEXT," +
        AGENCY_ID + " TEXT," +
        ROUTE_SHORT_NAME + " TEXT," +
        ROUTE_LONG_NAME + " TEXT," +
        ROUTE_TYPE + " INTEGER );";

但是在这里,当它一旦创建,每次重新启动时,表格将再次填充相同的值。我想在每次重启时清空并重新填充表格。删除" IF NOT EXISTS"在" CREATE TABLE"前面声明没有帮助。

每次重新启动应用时,如何从新数据库开始?

1 个答案:

答案 0 :(得分:0)

尝试这种方式,它的工作很好。 这在你的comman SQL Class onUpgrade()中提到。

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_ORDER);

    db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_TIMESTAMP);

    db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_ACCOUNT);

    // hardik
    db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_IMAGE);
    db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_UPDATEITEMS);
    db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_SCANITEMS);
    onCreate(db);
}