Partage
  • Partager sur Facebook
  • Partager sur Twitter

Android : communication entre threads

Comment un thread en cour d'exécution peut-il transmettre des données

Sujet résolu
    30 août 2019 à 6:49:39

    Bonjour à tous,

    Le contexte :

    J'ai déja évoqué mon problème dans mon intervention "Android : utiliser les objets java", mais j'ai sans doute mal posé le problème.
    Un microcontrôleur Wifi envoie des requêtes à un serveur Android sur un téléphone : alternativement 0 et 1 avec un intervalle de 1s.
    Sur le téléphone, j'ai créé une Activity dont la seule action est de lancer un thread ServerSocket qui écoute les requêtes
    Le serveur traite la requête avec un code ultra puissant : si tu reçois 0, tu envoies 1. si tu reçois 1, tu envoies 0
    Le microcontrôleur clignote. Le système fonctionne !

    Le problème :

    Le thread lancé par l'activity fonctionne en permanence. Et tant qu'il n'est pas terminé, je n'ai trouvé aucun moyen de transmettre le contenu de ma requête (0 ou 1) à l'activity pour pouvoir l'afficher dans le layout.

    Nota : la prochaine étape est de modifier le programme du microcontrôleur pour n'envoyer que 0, faire un bouton dans le layout qui renvoie 1 au ServerSocket qui le transmet au microcontrôleur.

    En résumé :

    Je suppose que de nombreuses applications échangent des données dans un thread de communication, qui sont transmises à une activity. La méthode existe, mais je ne la connais pas.
    Quelqu'un peut-il m'aiguiller ?

    -
    Edité par bob2fox 30 août 2019 à 6:51:04

    • Partager sur Facebook
    • Partager sur Twitter
      31 août 2019 à 7:27:31

      Bonjour à tous

      Il suffisait de structurer différemment le code :

      Il faut mettre les classes Thread appelées à l'intérieur de l'activité, et non dans des fichiers séparés.

      Je pensais qu'il était formellement interdit de mettre plusieurs classes dans un même fichier java.

      Merci a celles et ceux qui se sont penchés sur mon problème

      • Partager sur Facebook
      • Partager sur Twitter

      Android : communication entre threads

      × 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.
      • Editeur
      • Markdown