Oversun Posté(e) 4 avril 2016 Share Posté(e) 4 avril 2016 Bonjour, Je recherche depuis plusieurs heures une solution à mon problème et j'espère que vous allez pouvoir m'aider. Je travaille dans une société de service informatique et de développement et j'ai installé une application que nous avons développé sur Google Play. Au fil des semaines, je me suis aperçu que l'application planter juste après la mise à jour de celle-ci, et ce à chaque fois que l'ont modifié la base de données. La seule solution est donc de supprimer les données du téléphone ou de uninstal/instal l'application. J'ai remarqué que pour d'autres applications, lors d'une mise à jour, le logo de l'application s'enlever de la page d'accueil pour revenir, preuve qu'elle se désinstalle puis se réinstalle. J'aimerais donc savoir s'il est possible de passer pas cette phase de désinstallation soit via la plateforme développeur de Google soit dans notre code ? Merci par avance pour votre aide. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) 4 avril 2016 Share Posté(e) 4 avril 2016 Note: fil déplacé dans la section "Développement > Développement - Autres" 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gahfy Posté(e) 4 avril 2016 Share Posté(e) 4 avril 2016 À ma connaissance, ce n'est pas possible. Lorsque tu vois le logo qui disparaît et réapparaît, c'est juste que Android met à jour l'icône d'accès à l'application, qui peut avoir été mise à jour (icône, nom, ...) et ce, même si tu ne vois aucune différence (l'icône peut avoir changé de résolution, le nom traduit dans plus de langues etc...). Il ne s'agit pas d'une désinstallation puis réinstallation. Preuve en est, c'est que dans la plupart des cas, tu retrouves tes données. Deux suggestions : Solution de feignasse bien dégueulasse : tu commences tes requêtes du onUpdate par un DROP TABLES avec toutes les tables supposées exister, avant de rappeler onCreate. Bien crade, supprime toutes les données, équivalent d'une désinstall, réinstall. Solution demandant plus de boulot : tu trouves d'où vient l'erreur dans la mise à jour de ta base et tu la corriges. On peut essayer de t'aider si tu nous donne plus d'informations sur l'erreur que tu rencontres (message d'exception, ...) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Oversun Posté(e) 5 avril 2016 Auteur Share Posté(e) 5 avril 2016 (modifié) Tout d'abord merci pour ta réponse, L'erreur provient lors de l'ajout d'un champ dans la base. Pour faire simple, nous installons la base de données une seule fois lors de l'installation. Une des conditions lors de la mise à jours est que si elle trouve la base de données, elle se réinstalle pas. Si on rajoute un nouveau champ sans la désinstallation de l'app qui implique la réinstallation de la base, l'application ne trouve pas le nouveau champ et plante. La solution à laquelle nous pensons est de mettre une condition dans notre code pour que lorsque l'application appelle le champ et qu'elle ne le trouve pas, elle met à jour la base de données mais il faut créer des requêtes sur l'ensemble du code. Nous limitons les interventions sur la base, une autre solution est envisageable, c'est un ALTER TABLE que nous rajouterons à chaque modification de base. Quel est le meilleur moyen selon toi pour mettre à jour la table. Merci d'avance. Modifié 5 avril 2016 par Oversun Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gahfy Posté(e) 5 avril 2016 Share Posté(e) 5 avril 2016 La meilleure solution serait une mise à jour du schémas dans la méthode onUpdate de SQLiteOpenHelper. Dedans, tu peux mettre des conditions sur la old et new versions. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Oversun Posté(e) 5 avril 2016 Auteur Share Posté(e) 5 avril 2016 Merci beaucoup, Je vais étudier la question avec les développeurs de mon entreprise. Je reposterais un message si nous avons besoin d'aide et / ou si nous avons résolu notre problème. Peut-être que ce post aidera d'autres personnes. En tous les cas, vous êtes meilleurs et plus réactif que le support développeurs Google ! Bonne soirée et à bientôt, Ciao ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.