Wie Sie verhindern, dass das duplizieren von SQLite database in android?

Mein Programm liest eine XML-Datei auf dem internet, nimmt die Zeit und erstellt/schreibt eine SQLite-Datenbank. Wenn das nächste mal Daten erforderlich ist, wenn die Zeit >24h aktualisieren der Datenbank (xml-erneut heruntergeladen).

Das problem ist, dass immer wenn ich die app neu starten im AVD hat es erneut herunterladen und so merke ich, dass alle Daten in der Datenbank neu geschrieben wird (dupliziert). Also statt 10 Elemente habe ich 20 (10+10 Duplikate). Wenn ich das relaunch wieder bekomme ich weitere 10 items dupliziert.

Dachte ich darüber nach, wie ich verhindern könnte, die eine Vervielfältigung der Datenbank (oder löschen Sie den alten Eintrag), so habe ich beschlossen, erhöhen Sie die Datenbank-version jedes mal, wenn der Inhalt heruntergeladen wird. Ich dachte, das würde auslösen, die onUpgrade () - Methode, damit die Daten wären gelöscht, aber es ändert sich nichts.

Nun bin ich ratlos. Wie sollte ich dies angehen?

  • Was ist ein DELETE FROM MyTable bevor Sie füttern die Datenbank mit den heruntergeladenen Daten? Ich kann nicht herausfinden, was das eigentliche problem ist. Version ändern, ist für ein Datenbank-Schema aktualisieren (wenn Sie neue Tabellen oder Spalten).
  • gut, das ist genau, was ich machen wollte (und gemacht habe), also danke
InformationsquelleAutor Ozzy | 2011-12-15
Schreibe einen Kommentar