2010-11-11 1 views
6

Ich habe eine Anwendung veröffentlicht, die Daten in einer lokalen Datenbank speichert.Wie man ein Anwendungsupdate auf dem Android-Markt veröffentlicht, ohne lokale Datenbank und lokale Dateien zu löschen?

Jetzt muss ich ein Update für diese Anwendung veröffentlichen, um einige kleine Fehler zu beheben, aber ich fürchte, dass das Herunterladen und Installieren des Updates die lokale Datenbank der vorherigen Version delaten wird.

Ich würde gerne wissen, wie das Update-System funktioniert. Werden bei der Installation eines Updates alle mit der vorherigen Version verknüpften Apk, Dateien und Datenbanken gelöscht?

Wenn ja, wie kann ich dies in meinem Code vermeiden?

Vielen Dank für Ihre Hilfe !!

Antwort

5

Durch die Installation eines Updates werden alle apk, Dateien, Datenbanken, die der vorherigen Version zugeordnet sind, vollständig gelöscht.

Nein, tut es nicht. Wenn der Benutzer die Anwendung deinstalliert, werden diese Dateien entfernt, aber ein Update lässt diese Dateien bestehen.

+0

Sie möglicherweise auch den folgenden Thread nützlich finden: http://stackoverflow.com/questions/4143926/questions-about-android-application-update – Samuh

+0

Wenn ich eine Tabellenstruktur ändern, indem Sie eine neue Spalte in die Tabelle einfügen, in der aktualisierte Build Wird diese neue Spalte zur angegebenen Tabelle hinzugefügt, ohne die vorhandenen Daten in der Tabelle zu beeinflussen. –

+0

@ N-JOY: Wenn Sie das selbst behandeln (z. B. über 'onUpgrade()' in Ihrem 'SQLiteOpenHelper'), ja. Auch, bitte posten Sie keine Kommentare wie diese zu nicht verwandten Fragen, und tun Sie dies auch nicht mehrmals bei mehreren Fragen mit dem gleichen Kommentar. Sie sind in der Lage, auf die Schaltfläche "Frage stellen" in der oberen rechten Ecke der Seite zu klicken. – CommonsWare

0

Ihre Datenbankdaten werden bei einem Update nicht entfernt, es sei denn, Sie löschen sie explizit im Code. Wenn Sie Ihre Datenbankversion erhöhen, wird Ihre onUpgrade-Methode aufgerufen und das sind die Änderungen, die für diese neue Version vorgenommen werden.

+2

Beachten Sie, dass sich die Methode 'onUpgrade()', auf die sich binnyb bezieht, in Ihrem 'SQLiteOpenHelper' befindet, wenn Sie dies verwenden. – CommonsWare

Verwandte Themen