Aller au contenu

Suppression des données d'une application lors de la mise à jour via le Google Play


Mathieu75

Recommended Posts

Bonjour,

Je suis actuellement en train de développer une application android. Deux versions de cette applications sont déjà sorties sur le Google Play. Cependant, j'ai eut un petit problème lors de la sortie de la deuxième version. En effet, ayant modifié la base de données entre les deux versions, les personnes ayant fait la mise à jour ont eut le droit à un super plantage de l'appli, qui n'avait pas mis à jour sa base de données. Alors, il a fallut supprimer les données de l'application et la relancer pour que tout fonctionne de nouveau.

Ne voulant plus que ce problème ne surgisse, j'aimerais savoir s'il est possible de supprimer les données de l'application lors d'une mise à jour effectuée via le Google Play. Si oui, comment fait-on?

J'ai fait beaucoup de recherche en vain à ce sujet et la seule chose que j'ai trouvé concerne la méthode public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion), qui ne semble pas être appelée lors de la mise à jour...

Je désespère complètement, alors si quelqu'un a la solution à mon problème, je lui en serais vachement reconnaissant s'il voulait bien m'éclairer sur ce sujet qui me ronge depuis un bon moment maintenant :)

Merci d'avance =)

Mathieu.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Personne n'a rencontré ce problème?!! :(

Cela fait maintenant plusieurs jours que je cherche une solution, mais je ne trouve rien... Et je dois déposer mon application très prochainement sur le Google Play.

Je ne veux pas qu'il m'arrive la même galère que lors de la première mise à jour de l'application, donc si quelqu'un pouvait m'éclairer sur la manière de procéder je lui en serait plus que reconnaissant...

Merci.

Mathieu.

Lien vers le commentaire
Partager sur d’autres sites

Si le onUpgrade ne fonctionne pas (je n'ai pas de code sous les yeux pour vérifier son fonctionnement) tu peux toujours mettre un flag à 0 dans les préférences.

Au démarrage de l'appli tu vérifies se flag :

- S'il est à 0 tu le passes à 1 et vérifie la structure de ta base de données (ou au pire tu fais une requête dans un try/catch, si elle passe alors c'est bon, sinon t'es sur l'ancienne version de ta base). Ensuite tu supprimes toi même cette base pour refaire une structure propre.

- S'il est à 1 alors c'est que t'as déjà vérifié ta base.

Tu vois là l'intérêt de passer un peu temps à construire une base de données qui, sans être définitive, doit être modulable facilement.

Jette un oeil du côté de la méthode Merise si tu ne la connais pas déjà.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je te remercie de ta réponse. J'avais déjà eut cette idée, mais je trouvais ça dommage d'utiliser une façon de faire qui force la mise à jour, mais puisque c'est mon dernier recours ;)

Merci encore !!! Je te tiendrais au courant de la réussite ou non de la manipulation...

Mathieu.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...