2012-04-01 24 views
0

Ich habe eine Anwendung mit wie 400 Datensätze in der Datenbank, ich habe Splash-Screen am Anfang, ich habe AsyncTask Einfügen der Daten in die Datenbank und onPostExecute() Ich schließe den Splash-Bildschirm und die Anwendung geht. Natürlich möchte ich, dass dies nur einmal passiert, also wenn der Nutzer die App zu einem anderen Zeitpunkt öffnet, kommt es nicht zu einer Duplizierung von Daten. Also habe ich boolean SharedPrefernces für den ersten Besuch erstellt. Nun die Frage ist, nehme ich an, ich habe die Anwendung auf dem Markt aktualisiert, muss der Benutzer die Anwendung ersetzen, wird der Shared Preferences-Wert wieder auf den Standard zurück?Android SQLite Datenbank und SharedPreferences

Ich weiß, dass ich die Daten in onCreate() des Datenbank-Handler/Helfer einfügen muss, aber es dauert Zeit, 400 Datensätze mit vielen Feldern einzufügen, so dass ich den Startbildschirm mit Hintergrundausführung gemacht.

Bitte sagen Sie mir, ob das, was ich tue, in Ordnung ist, oder ich muss die Struktur ändern und die Einfügung innerhalb onCreate() setzen.

Vielen Dank.

Antwort

2

SharedPreferences und alle Daten der App (z. B. SQL-Datenbanken) werden durch App-Upgrades verwaltet. Daten werden nur dann gelöscht oder zurückgesetzt, wenn der Benutzer die App deinstalliert.

+1

Wenn Sie eine Referenz dafür haben, geben Sie sie bitte an. –

+0

Ich habe eine Handvoll Apps in der Produktion, alle arbeiten auf diese Weise. Auch: http://stackoverflow.com/questions/3860823/are-shared-preferences-in-android-apps-deleted-when-a-user-updates-the-app – cottonBallPaws

+0

Vielen Dank für Ihre Antwort. –