Cristian sagt hier : Ihre Anwendungsdaten bleiben erhalten, wenn Benutzer Updates installieren.
Es muss jedoch dasselbe sein package name
, um ein Update der vorherigen App zu erkennen.
EboMike in Warnung Android-Benutzer, dass App-Update zum Verlust von Daten aus der alten App-Version führen könnte? sagt:
Offen gesagt ist es nicht akzeptabel, Daten aufgrund eines Upgrades zu verlieren.
Bearbeiten :
Normalerweise werden die SharedPreferences (sowie andere Benutzerdaten) während des Aktualisierungsvorgangs beibehalten, aber manchmal gehen die Daten aufgrund eines " unbekannten " Problems verloren, und ich denke, sie liegen außerhalb Ihrer Kontrolle. Sie können also einfach glauben, dass die SharedPreferences beibehalten werden ( siehe hier ).
Wenn Sie also vermeiden möchten, dass Benutzerdaten während des Aktualisierungsvorgangs gelöscht werden, müssen Sie die Hauptdaten im externen Speicher speichern (dies kann ein Wechselmedium sein, z. B. eine SD-Karte oder ein interner, nicht entfernbarer Speicher) privat für Ihre App. Oder zumindest für Benutzer zum Sichern von Daten vor dem Upgrade aufbewahren. Überprüfen Sie dann beim ersten Ausführen Ihrer (aktualisierten) App, ob sich eine Sicherungsdatei im externen Speicher befindet oder nicht.
Wenn Sie wissen möchten, was beim Upgrade einer App passieren muss / kann? Habe ich keine gute Beschreibung für this.It kompliziert ist und relativ mit Android Security
, Application signing
, copy protection
und andere topics.I bedeuten , dass , wenn Sie Zustand Ihrer App in allen oben genannten Bereichen zu ändern, es anderes Ergebnis führt.
Wenn Sie beispielsweise CHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON
Ihre App aktualisieren, gehen jedoch alle freigegebenen Einstellungen verloren, der Dateizugriff ist unmöglich und ....
Sie müssen sich jedoch um die Bedingungen kümmern, die Ihre neue App being considered
als Update für die vorherige App verursachen (siehe Dinge, die sich nicht ändern können ).
Außerdem müssen Sie sich um Ihren Code kümmern, da dies zum Löschen von Daten Ihrer Datenbanken führen kann (siehe Update-App mit vorinstalliertem SQLite ).
Aber letztendlich können Sie, wenn Sie vorsichtig sind, sagen:
Der Aktualisierungsprozess ersetzt nur die apk-Datei (und damit auch die darin enthaltenen Zeichen, ...) und ändert keine Datenbanken, freigegebenen Einstellungen und andere Dateien, die zur Laufzeit generiert wurden (wahrscheinlich wird in diesem Fall eine neue App mit installiert die UID, die der UID der vorherigen App entspricht).
Sie können diese Seiten für weitere Details sehen:
Hilfe!? Durch die Aktualisierung unserer Anwendung auf dem Markt werden die gespeicherten SharedPreferences gelöscht.
Der Marktkopierschutz unterbricht den Dateizugriff nach dem Update vollständig.
Kann jemand den App-Update-Prozess erklären?