2016-08-01 7 views
0

Ich habe eine Android-App, die hauptsächlich die SharedPreferences verwendet, um Daten zu speichern. Ich habe diese ganze Struktur kürzlich durch eine SQLite-Datenbank ersetzt. Das Problem ist, dass ich die App veröffentlicht habe, bevor ich sogar die Datenbankdatei oder eine der Datenbankhilfsklassen dem Projekt hinzugefügt habe. Ich habe mich nur gefragt, ob sich diese Änderungen nahtlos in die ältere Version der App integrieren würden.Aktualisieren einer App, die zuvor keine Datenbank hatte

+0

In Ordnung, Sie können die onCreate-Methode in der Klasse sqlithelper verwenden, um nach der Erstellung der Datenbank alle Daten mit den gemeinsamen Daten in die Datenbank zu kopieren. –

+0

@ s.shivasurya Eigentlich bin ich nicht so sehr damit beschäftigt, die Daten in die Datenbank zu migrieren - ich fragte mich eher, ob es etwas Spezielles gab, das ich machen musste, damit ältere Versionen der App die neu hinzugefügte Datenbank erkennen konnten. – Waves

+0

Wie wäre es überhaupt möglich, eine alte App mit der neuen Datenbank zu haben? –

Antwort

1

Wenn eine App aktualisiert wird, wird der alte Code durch den neuen Code ersetzt. So wird die alte Version der App nie eine DB-Datei sehen.

+0

Aber warum müssen wir dann Datenbankversionen in der SQLiteAssetHelper-Klasse angeben? Wenn der Code ersetzt wird, wird die Datenbank nicht jedes Mal neu erstellt? – Waves

+0

Der * Code * wird ersetzt, aber nicht die * Daten *. Datenbankversionen helfen bei der Aktualisierung von Datenbanken. –