IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Android et Bluetooth : synchronisation de thread pour mise à jour régulière des informations


Sujet :

API standards et tierces Android

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Android et Bluetooth : synchronisation de thread pour mise à jour régulière des informations
    bonjour,

    je suis toute nouvelle sur le forum alors soyez indulgent svp :/

    Je développe une application android et j'aurais besoin d'un coup de pouce.

    Le principe général de l'appli est de lire des informations sur des appareils par bluetooth. Mon problème se situe une fois la connexion bluetooth établit entre ma tablette et l'appareil, j'arrive à lire les données qui m'intéresse mais je n'arrive pas à faire une lecture "live" des informations (ou du moins un raffraichissement assez rapide des informations pour qu'on puisse le considérer comme "live", je n'ai pas besoin d'un truc hyper rapide, mais tout les 500ms par ex ou de l'ordre de grandeur)

    J'ai une activité et une seconde classe qui s'occupe de la connexion bluetooth. Cette classe n'est pas de moi (je poursuit le travail d'un autre et j'ai donc pu reprendre cette partie), au lancement de l'activité, la connexion bluetooth se fait sans problème. Une méthode me permet d'envoyer des ordres pour lire les informations qui m'intéresse. J'arrive à envoyer les ordres un par un, en enregistrant la réponse reçue à chaque fois.

    pour faire cela, j'ai un Thread qui gère la connexion (après les thread server et client qui initialise la connexion), et qui est constante lecture de myInputStream. Dès qu'il reçoit une réponse, il envoi un message à un handler de l'activité principale. Celui ci enregistre la réponse envoi l'ordre suivant... ainsi de suite jusqu'à avoir obtenu toutes mes réponses.

    ce que je souhaite faire, c'est qu'une fois que toutes les réponses ont été enregistré une fois, c'est pouvoir lancer un "live" qui met à jour les informations de manière régulière et cyclique tant qu'on ne lui dit pas de s’arrêter. Pour celà j'ai créé un autre thread dans mon activité principal (qui démarre après un clic sur un bouton), celui si envoi un ordre et se repose 500ms : ceci en boucle (tant que une condition booléenne est vrai)

    Cela fonctionne mais pas de manière infini, après quelques ordre envoyés, l'appli crash. Il est propable que ce soit un problème de synchronisation de thread. Du coup j'ai qq questions à poser :

    - Est ce qu'un handler partagé peut poser un pb de synchronisation ?
    - Est-il possible de synchroniser deux thread qui ne sont pas dans la même classe ?

    ce qui me pose pb en fait, c'est le thread de lecture des informations qui est toujours en lecture, je ne comprends pas pq en envoyant une seule fois mes ordres ça fonctionne et si je veux faire un cycle "sans fin" avec une pause entre chaque ça ne fonctionne pas ?
    Pour ceux qui ont travaillé avec du bluetooth, vous avez du surement voir des exemples de code avec un thread
    connectedThread,

    public void run()...
    while (true) myInputStream.read(buffer);
    myHandler.obtainMessage(...,..., buffer.clone).sendToTarget();
    ;

    public void write( byte[] bytes)
    myOutputStream.write(bytes)..;

    Je ne peux pas poster de code là, mais je l'ajouterai plus tard (si jamais vous voulez des parties précises dites moi)
    J'ai fait beaucoup de recherche sur internet avant de poster ce msg donc éviter de me dire que google est mon amis :/
    J'ai commencé android depuis deux mois seulement sans aucune connaissance en java initialement donc désolé si le problème est mal posé :s je suis une débutante en android et en programmation en générale

    Merci d'avance

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    ce qui me pose pb en fait, c'est le thread de lecture des informations qui est toujours en lecture, je ne comprends pas pq en envoyant une seule fois mes ordres ça fonctionne et si je veux faire un cycle "sans fin" avec une pause entre chaque ça ne fonctionne pas ?
    Salut,

    Tu pourrais nous montrer un peu ton code car là comme cela moi je ne te suis pas. Je ne vois pas ce qui te bloque dans la lecture du bluetooth :/
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Août 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut infos
    Bonjour,

    Je cherche des infos et un développeur pour une application Bluetooth sous Android

Discussions similaires

  1. selection mulitple pour mise à jour
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 23/08/2006, 15h39
  2. soucis pour mise à jour de données
    Par oceane751 dans le forum Langage
    Réponses: 11
    Dernier message: 29/05/2006, 16h44
  3. Créer .bat pour mise à jour de mon antivirus
    Par ardamus dans le forum Windows
    Réponses: 1
    Dernier message: 17/02/2006, 11h41
  4. [VB6] Code pour Mise à jour automatique
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 45
    Dernier message: 10/02/2006, 18h05
  5. Utilisation de CASCADE pour mise à jour
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/08/2004, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo