Die Android-Datenbank wird jedes Mal neu erstellt, wenn die Anwendung gestartet wird

8

Warum ruft SQLiteOpenHelper onCreate () bei jedem Start meiner Anwendung auf? Hier ist mein Code für onCreate ()

%Vor%

Ich habe eine externe Klasse um meine erweiterte SQLiteOpenHelper-Klasse, und wenn ich abfrage, mache ich das:

%Vor%

und überspringt diesen Block wegen dieser if-Anweisung

%Vor%

Hier ist meine gesamte Datenbank-Wrapper-Klasse:

%Vor%

} }

Lass es mich wissen, wenn ich mehr Code oder irgendetwas posten muss. Danke.

    
wangburger 29.07.2010, 20:47
quelle

4 Antworten

10

Sehen Sie sich Ihren DBWrapper-Konstruktor an,

Sie rufen an

context.deleteDatabase(DATABASE_NAME);

Dadurch wird die Datenbankdatei jedes Mal gelöscht, wenn Sie sie aufrufen. Erzwingen des SQLHelper zum Wiederherstellen der Datenbank.

    
LizB 30.07.2010, 02:36
quelle
1

Der Link unten hilft hoffentlich.

stackoverflow.com - & gt; Frage ob Adroid DB existiert!

Ich hoffe, das hilft

Das obige Poster hat auch erwähnt, dass Sie die Datenbank löschen

%Vor%

in Ihrem DBWrapper () -Konstruktor

    
userdelroot 02.08.2010 13:39
quelle
0

Versuchen Sie Folgendes:

%Vor%     
fmo 29.07.2010 22:26
quelle
0

Wenn Sie beim ersten Start der App einmal eine Datenbank erstellen möchten, müssen Sie diese Abfrage ändern.

Sie sollten überprüfen müssen, ob die Datenbank bereits existiert oder nicht, wenn Sie nicht Datenbank erstellen oder Datenbank nicht erstellen.

CREATE TABLE, falls nicht vorhanden TABLE_NAME (Schlüssel data_type);

Rufen Sie diese Abfrage in onCreate-Methode auf.

    
Hkh 16.03.2018 05:51
quelle

Tags und Links