2016-05-09 12 views
0

Ich habe eine SQLite-Datenbank für meine Android-Anwendung entwickelt, die ich debuggen möchte. Ich schaffe die Tabelle wie hier:Wie lösche ich die SQLite-Datenbank beim Neustart der App?

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);"; 

Aber hier, wenn es einmal erstellt wurde, auf jeder der Tabelle neu gefüllt wieder mit denselben Werten. Ich möchte die Tabelle bei jedem Neustart leeren und auffüllen. Das Entfernen der "IF NOT EXISTS" vor der Anweisung "CREATE TABLE" hat nicht geholfen.

Wie kann ich bei jedem Neustart der App mit einer neuen Datenbank beginnen?

Antwort

0

versuchen Sie auf diese Weise seine Arbeit fein wie. Dies ist unter onUpgrade() in Ihrer Comman SQL-Klasse erwähnt.

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

Ich möchte nicht DatenbankAdapters verwenden. In meinem Fall ist es über 'öffentliche Klasse MySpecialDB erweitert SQLiteOpenHelper' mit den beiden überschriebenen Methoden onCreate() und onUpgrade() –

+0

@RalfWickum Ich habe meinen Code ändern, bitte überprüfen Sie es. –