2017-01-27 3 views
0

Ich bin neu in Android-Programmierung, und ich übe mit Datenbanken.Wie zu vermeiden, ändern Datenbankname beim Neukompilieren

Ich habe einen Helfer und eine "DataManager" -Klasse geschrieben.
Aber wenn ich versuche, meine App auf dem AVD-Emulator auszuführen, muss ich immer den Namen meiner Datenbank ändern, weil ich immer einen Fehler erhalte.

public class DBhelper extends SQLiteOpenHelper implements DBstrings{ 

    public DBhelper(Context ctx){ 
    super(ctx,DATABASE_NAME,null,DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
    String q = "create table " + DATABASE_TABLE + " (" 
      + KEY_ROWID + " integer primary key, " 
      + KEY_TITLE + " text not null, " 
      + KEY_CONTENT + " text not null);"; 
    db.execSQL(q); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { 

    } 

Was kann ich tun, um diese Umbenennung jedes Mal zu vermeiden?

Vielen Dank. Und Entschuldigung für mein perfektes Englisch.

+0

Bitte fügen Sie das Fehlerprotokoll bei. –

+0

Grundsätzlich habe ich eine SQLite-Datenbank, die jedes Mal initialisiert wird, wenn meine App geöffnet wird. Diese Initialisierung besteht darin, einige Einträge in meiner Datenbank automatisch mit INSERT-Abfragen zu ergänzen. Jedes Mal, wenn ich meine App erneut ausführen, werden die Abfragen erneut ausgeführt, und offensichtlich erhalte ich einen Integritätsfehler: UNIQUE-Einschränkung ist fehlgeschlagen. Ich möchte einen Weg finden, meine DB komplett zu löschen und jedes Mal neu zu erstellen, wenn ich meine App erneut laufe. – Valonqar

Antwort

2

Sie müssen den Datenbanknamen nicht jedes Mal ändern, wenn Sie den Code kompilieren. Wenn Sie das Datenbankschema ändern, können Sie einfach die Datenbank Version aktualisieren. Teilen Sie den Fehler, den Sie sonst bekommen.

+0

Sie können Ihre App auch deinstallieren und neu installieren, wenn Sie sich noch in der Entwicklungs-/Testphase befinden. –

+0

Durch das Deinstallieren und Neuinstallieren meiner App wird die Datenbankdatei nicht gelöscht. Der UNIQUE-Fehler wird also weiterhin angezeigt. – Valonqar

Verwandte Themen