2010-11-28 11 views
1

Ok, ich habe gerade eine App auf dem MarketPlace und heute veröffentliche ich das erste Update. Wird die von meiner App verwendete SQLite-Datenbank durch das Update überschrieben, so dass onCreate erneut aufgerufen wird? Oder wird es die Datenbank einfach nicht berühren? Was passiert mit den SharedPreferences?Was passiert mit meiner Android App und Datenbank, wenn ein Nutzer über Market Place aktualisiert wird?

Entschuldigung für die scheinbar einfachen Fragen, ich google seit einer Stunde und habe nichts gefunden, was passiert mit einem Paket, wenn der Benutzer die App aktualisiert. Wird es vollständig gelöscht und neu installiert? Keine Ahnung. Jede Hilfe wird sehr geschätzt. Vielen Dank!

Antwort

1

wenn Sie SQLite in Ihrem db-Adapter verwenden, wird es für diese Variable überprüfen:

private static final int Database_Version;

Wenn es sich von dem auf dem Gerät des Benutzers installierten unterscheidet, wird versucht, die überschriebene Methode upUpgrade() von sqlite aufzurufen.

+0

Hmmm, macht Sinn. Ich hatte gehofft, dass ich mich nicht mit onUpgrade anlegen müsste. Ich denke, ich kann die vorhandene Tabelle löschen und neu erstellen. Noch eine Frage, werden Dateien im Asset-Ordner komplett ersetzt? Vielen Dank für Ihre Antwort. –

+0

Sie können OnCreate() bei Ihrem Upgrade aufrufen, nachdem Sie alle Tabellen gelöscht haben. Ich denke, es ist entweder komplett ersetzt oder synchronisiert. –

+0

Super, danke nochmal für deine Hilfe, lass mich jetzt meine v1.1 in eine v1.1.1 verwandeln :-) –