Je suis débutant en programmation Android et je dois réaliser une application afin de valider ma formation.
Dans une activité j'aimerais récupérer les coordonnées (latitude et longitude) d'un utilisateur en cliquant sur un bouton (je ne demande pas à l'utilisateur de les saisir), et je n'affiche pas sa position sur une carte non plus. Ensuite, j'aimerais par la même fonction convertir les coordonnées ainsi trouvées (sûrement avec geocoder) afin d'afficher l'adresse de l'utilisateur directement dans un textview (ou éventuellement un toast mais je pense que le textview est mieux car il restera affiché).
En fait cela me permettra à mon application de chasse au trésor de laisser penser à l'utilisateur qu'il va trouver des objets à sa position alors que les objets seront tirés aléatoirement grâce à Math.random() enfin je n'ai pas encore fini donc c'est en construction.
Mais je bloquais sur ce petit détail, du coup je me demandais si quelqu'un saurait comment s'y prendre?
Tu adresses plusieurs sujets dans ton message. Quel est ton problème exactement ? Car tu sembles effectivement déjà savoir comment retrouver l'adresse postale à partir de coordonnées GPS grâce à la classe Geocoder du SDK Android.
Merci pour votre réponse en effet je sais qu'il faut utiliser Geocoder mais je ne sais pas si je l'utilise correctement.
Android Studio ne détecte aucune erreur lors de la compilation. Alors j'ai installé l'application sur mon téléphone (car avec l'émulateur j'y arrive pas), puis j'ouvre l'application et quand je clique sur le seul bouton qui appelle ma fonction ça plante et l'application se ferme.
Je poste mon code Java ici si vous voulez peut être que vous comprendrez l'erreur car moi je comprends pas ce qui pose problème :
Si l'application plante, tu dois avoir une stacktrace dans le logcat. C'est cette stacktrace qui nous intéresse pour comprendre ce qu'il se passe. Peux-tu la poster ici ?
Il n'y a aucun message dans le logcat car j'ai installé l'application sur mon téléphone directement. Je ne branche pas mon téléphone à l'ordinateur car mon téléphone n'est pas détecté par mon ordinateur (problème Samsung et Mac?, je ne sais pas pourquoi mais ça n'a jamais voulu marcher), du coup je me suis envoyé l'apk par mail et je l'ai récupéré sur mon Samsung et j'ai installé l'application comme ça sur le téléphone, du coup je n'ai aucune trace, peut être peux tu tester le projet sur ta machine virtuel si tu as le temps bien sûr?
Tu ne peux pas développer d'applications sans faire de debug. Au moindre problème (et des problèmes, il n'y a que ça) tu te retrouves complètement perdu. En plus, le temps de générer l'apk, de l'envoyer par mail, et de l'installer, ça prend un temps fou à tester à chaque itération !
La première chose à faire ce serait de lancer l'app sur le simulateur et/ou de régler ton problème de téléphone.
Sur une vision à court terme, tu pourrais envisager d'installer Crashlytics pour avoir un minimum de retour. L'idéal, ce serait de faire les deux.
En tout cas, je suis à peu près sûr que personne ne va faire ton travail à ta place : installer ton app sur un environnement de travail propre pour faire tes tests. D'une part parce que c'est long. D'autre part, parce que ça sert à rien : on ne peut pas reproduire ton environnement de travail (manifest, gradle, ressources, etc...) et au prochain problème (puisqu'il y en aura un c'est certain), tu redemanderas une itération de la procédure.
EDIT : J'ai regardé ton code. Dans le XML tu as onClick="getAddress"
Ta méthode doit alors être public void getAddress(View view) {} et non getAddress(Location location) {}
Je n'arrive pas à régler ce problème de téléphone, j'ai essayé d'installé plusieurs drivers sur l'ordinateur pour le faire détecter rien à faire, d'habitude j'utilise mon émulateur pour le débug donc je ne galère pas autant je t'avouerai mais là en fait l'émulateur ne dispose pas de GPS sur Android Studio et en allant dans l'Android Device Monitor je n'arrive pas à activer cette fonctionnalité pour l'émulateur, peut être connaîtrais tu la marche à suivre?
Si j'enlève ma méthode getAddress() du XML et que je la passe dans un OnClickListener du code Java puis-je la garder comme elle c'est à dire getAddress(Location location) ?
Ça ne changera rien si tu créés un OnClickListener. Tu devras toujours implémenter la méthode onClick(View v). Ceci dit, je ne vois pas pourquoi tu tiens à envoyer Location en paramètre.
Salut, ton téléphone n'est pas détecté par ton ordinateur mais as-tu activé le Déboggage USB dans les options développeurs de ton appareil ?
Car actuellement, si tu dois à chaque fois générer un APK, te l'envoyer par mail, l'installer manuellement, tu n'arriveras jamais à t'en servir. Je dois faire 80 builds par jours au moins, avec ta solution je m'en sortirait pas du tout. Règle ton soucis pour avoir un milieu de développement correct :)
Oui bien sûr Joadar j'ai tout activé, et même si je ne l'avais pas activé ça n'empêcherait pas l'ordinateur de détecter le téléphone donc ça vient des Drivers, je vais essayer de trouver une solution.
Merci, mais c'est bon j'ai réussi à corriger mon code, j'y suis arrivé.
Merci à vous
Afficher une adresse postale dans un TextView
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog
Mon site - Mon livre sur le XML - Mon blog