Überprüfen Sie in Android, ob die sqlite-Datenbank von Zeit zu Zeit fehlschlägt

8

In Android verwende ich die folgende Methode, um zu sehen, ob die SQLite-Datenbank existiert und ob ich sie öffnen und benutzen kann.

Wenn dieser Test fehlschlägt, kopiere ich die Datenbankdatei von den Assets (dies sollte nur einmal passieren, wenn der Benutzer die App zum ersten Mal startet).

%Vor%

Das Problem ist, dass ich Berichte von Benutzern bekomme, die sagen, dass ihre Daten gelöscht wurden, und bei der Untersuchung kann ich sehen, dass die Datenbank von den Assets durch die Datenbank ersetzt wird. Aus irgendeinem Grund, selbst wenn der Benutzer bereits eine Datenbankdatei hat, gibt die SQLiteDatabase.openDatabase () manchmal einen Fehler aus. Ich konnte das Problem nicht selbst reproduzieren, scheint aber bei einigen Benutzern zu passieren.

Jeder hat eine Idee, was das Problem hier sein könnte? Gibt es einen besseren Weg, diesen Test zu machen?

    
Martin 04.11.2011, 10:37
quelle

2 Antworten

32

Wie wäre es mit einer Überprüfung des Dateisystems, um festzustellen, ob die Datenbank existiert, anstatt zuerst zu versuchen, sie zu öffnen?

Sie könnten versuchen, eine Datenbank zu öffnen, die bereits geöffnet ist und die einen Fehler auslöst, der Sie glauben lässt, dass sie nicht existiert.

%Vor%     
Kuffs 04.11.2011, 15:00
quelle
2

Ich möchte eine Methode teilen, um zu überprüfen, ob die Datenbank existiert: Gib mir +1, wenn es dir gut geht, Danke.

%Vor%     
quelle

Tags und Links