2015-02-17 6 views
12

Ich habe eine Android-App entwickelt, in der ich Daten in einer SQLite-Datenbank mit SQLiteOpenHelper gespeichert habe.ActiveAndroid auf vorhandenen Datenbank-Inhalt verwenden

Ich frage mich, ob ich meine App mit ActiveAndroid aktualisieren könnte, aber in einer Weise, dass die Benutzerdaten in der Datenbank gespeichert werden.

Ist das möglich?

+0

Haben Sie eine Lösung gefunden? – surfer190

+0

Leider nicht, nein; Ich habe noch nicht so lange gesucht, also könnte es immer noch Hoffnung geben :) – deimos1988

+1

Sie können den Inhalt Ihrer alten Datenbank immer auf einen neuen mit ActiveAndroid migrieren, nach dem Sie den alten entfernen können. –

Antwort

6

Sie müssten während der Laufzeit eine Datenmigration durchführen, nachdem der Benutzer auf die neueste Version der App aktualisiert hat. Der Prozess könnte in die folgenden Schritte unterteilt werden: Ich habe jedem Schritt auch Datenbankversionswerte zugewiesen.

  1. Der Benutzer hat alle seine Daten in einer SQLite-Datenbank gespeichert und hat ihre App noch nicht aktualisiert. [DB = SQlite v1]

  2. On-Upgrade, wenn der Benutzer auf die nächste Version des Upgrade wird App alle Daten von der alten SQLite-Datenbank lesen und speichern sie in die ActiveAndroid Datenbank. [DB = SQLite v1 und ActiveAndroid v1]

  3. Sobald alle Daten in die neue ActiveAndroid-Datenbank migriert wurden, löschen Sie alle Tabellen der SQLite-Datenbank, sodass Sie keinen zusätzlichen Speicherplatz benötigen, den Sie nicht benötigen . [DB = SQLite v2 und ActiveAndroid v1]

  4. In der nächsten Version können Sie dann davon ausgehen, dass Benutzer ihre Daten vollständig migriert haben und an dieser Stelle ist es endlich sicher, den gesamten Code zu entfernen, der zuvor auf die SQLite-Datenbank verwiesen hat. [DB = ActiveAndroid v2]

+1

Zum Aktualisieren der Datenbank in der nächsten Version der App erstellen Sie eine Singleton-Klasse, so dass die kopierte Datenbank nur eine Instanz hat. Es wird leicht aktualisiert. – hitesh141

+0

D, das macht Sinn für mich ... glaubst du, es beantwortet deine Frage? – CLaFarge