Cristian aquí dit : les données de votre application seront conservées lorsque l'utilisateur installera les mises à jour.
Mais ce doit être avec le même package name
à détecter comme une mise à jour de la précédente App.
EboMike en Avertir les utilisateurs d'Android que la mise à jour d'une application peut entraîner la perte des données de l'ancienne version de l'application ? dit :
Franchement, la perte de données due à une mise à niveau est inacceptable.
Modifier :
Normalement les préférences partagées (ainsi que d'autres données de l'utilisateur) seront conservées pendant le processus de mise à jour, mais parfois, en raison d'un certain " inconnu "Le problème, c'est que les données peuvent se perdre, et je suppose que c'est hors de votre contrôle. Donc, vous pouvez simplement croire que les SharedPreferences seront conservées( voir ici ).
Donc, si vous voulez éviter d'effacer les données de l'utilisateur au cours de la mise à niveau, vous devez sauvegarder les données principales dans un stockage externe (il peut s'agir d'un support de stockage amovible, comme une carte SD ou un stockage interne, non amovible) et non privé pour votre application, ou au moins permettre à l'utilisateur de sauvegarder ses données avant la mise à niveau.
Si vous voulez savoir Quelles sont les choses qui doivent/peuvent se produire lors de la mise à niveau d'une application ? Je n'ai pas trouvé de bonne description pour cela. C'est compliqué et relatif avec Android Security
, Application signing
, copy protection
Je veux dire que si vous changez l'état de votre application dans l'un des champs ci-dessus, le résultat sera différent.
Par exemple, si vous CHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON
votre application sera mise à jour, mais toutes vos préférences partagées seront perdues, l'accès aux fichiers sera impossible et... .
Vous devez cependant faire attention aux conditions dans lesquelles votre nouvelle application sera utilisée. being considered
comme une mise à jour de l'application précédente (voir Les choses qui ne peuvent pas changer ).
Vous devez également faire attention à votre code, il peut être causé par la suppression de données de vos bases de données (voir mettre à jour l'application avec SQLite préchargé ).
Mais finalement, si on fait attention, on peut dire :
Le processus de mise à jour ne fait que remplacer le fichier apk (et donc ce qu'il contient pour... par exemple drawables,...) et ne modifie pas les bases de données, les préférences partagées et tout autre fichier généré au moment de l'exécution (probablement dans ce cas, la nouvelle application est installée avec l'UID qui est égal à l'UID de la l'application précédente).
Vous pouvez consulter ces pages pour plus de détails :
A l'aide ! ? La mise à jour de notre application sur le marché supprime les SharedPreferences enregistrées.
La protection contre la copie du marché interrompt totalement l'accès aux fichiers après une mise à jour
Quelqu'un peut-il expliquer le processus de mise à jour de l'application ?