Cristian qui dice: i tuoi dati dell'applicazione rimarranno quando l'utente installa gli aggiornamenti.
Ma deve essere con lo stesso package name
per rilevare come un aggiornamento dell'app precedente.
EboMike in Avviso utente Android che l'aggiornamento dell'app potrebbe portare alla perdita di dati dalla vecchia versione dell'app? dice:
Francamente, la perdita di dati a causa di un aggiornamento è inaccettabile.
Modifica :
Normalmente , le SharedPreferences (così come altri dati utente) verranno conservate durante il processo di aggiornamento, ma a volte, a causa di qualche problema " sconosciuto ", i dati potrebbero andare persi e credo che sia fuori dal tuo controllo. Quindi, puoi semplicemente credere che le SharedPreferences verranno mantenute ( vedi qui ).
Quindi, se si desidera evitare di cancellare i dati dell'utente durante l'aggiornamento, è necessario salvare i dati principali in una memoria esterna (può essere un supporto di memorizzazione rimovibile, come una scheda SD o una memoria interna, non rimovibile) e non privato per la tua app, o almeno metterlo da parte per consentire all'utente di eseguire il backup dei dati prima dell'aggiornamento, quindi al primo avvio della tua app (aggiornata), controlla che ci sia un file di backup nella memoria esterna o no.
Se vuoi sapere quali cose devono / possono accadere con l'aggiornamento di un'app? , Non ho nessuna descrizione buono per this.It è complicato e relativa con Android Security
, Application signing
, copy protection
e altre topics.I significa che se si cambia lo stato della tua applicazione in tutti i campi di cui sopra, che provoca risultato diverso.
Ad esempio, se tu CHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON
, la tua App verrà aggiornata ma tutte le tue preferenze condivise andranno perse, l'accesso ai file sarà impossibile e ...
Anche se devi prestare attenzione alle condizioni che causano la tua nuova app being considered
come aggiornamento per l'app precedente (vedi Cose che non possono cambiare ).
Inoltre devi stare attento al tuo codice, potrebbe essere causato dalla cancellazione dei dati dei tuoi database (vedi app di aggiornamento con SQLite precaricato ).
Ma alla fine, se stai attento, puoi dire:
Il processo di aggiornamento sostituisce solo il file apk (e quindi cosa c'è dentro ad esempio drawables, ...) e non altera i database, le preferenze condivise e qualsiasi altro file generato in fase di esecuzione (probabilmente in questo caso viene installata una nuova App con l'UID che è uguale all'UID dell'App precedente).
Puoi vedere queste pagine per maggiori dettagli:
Aiuto!? L'aggiornamento della nostra applicazione sul mercato cancella le SharedPreferences salvate.
La protezione dalla copia di mercato interrompe completamente l'accesso ai file dopo l'aggiornamento
Qualcuno può spiegare il processo di aggiornamento dell'app?