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

Android Discussion :

service activity envoi de données


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut service activity envoi de données
    Bonjour,

    Je voudrais savoir comment fais t-on pour qu'un service local envoi des données à une activity dès qu'il y en a.

    Merci.

  2. #2
    Expert confirmé

    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
    Par défaut
    Bonjour,

    De quel type de données parles-tu ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    des String.

    Ce que je compte faire c'est que le service récupère des données dès qu'il y en a puis les transmet à l' activity A ainsi de suite.

    Le problème c'est que mon activité se lance une seule fois alors qu'elle doit se lancer à chaque fois qu'il y a des données.

    Avez vous une idée?

  4. #4
    Expert confirmé

    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
    Par défaut
    Bonjour,

    Ce que je compte faire c'est que le service récupère des données dès qu'il y en a puis les transmet à l' activity A ainsi de suite.
    ça c'est assez simple il te suffit d'utiliser un Handler pour que du service tu puisses envoyer des messages à ton Activity.

    Le Handler sera commun entre l'activity et le service .

    Le problème c'est que mon activité se lance une seule fois alors qu'elle doit se lancer à chaque fois qu'il y a des données.
    Par contre là, cela implique que le service doit lancer l'activity si celle ci n'est pas en cours d'exécution ou si l'activity est en suspend .

    Contrôle alors l'état de ton activity , et lance la ou réveille la, si nécessaire

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    le problème c'est que l'activity se recharge alors que j'essaye de rajouter à ma liste les élements sans qu'elles soient supprimé

    je souhaiterais garder mon activity lancé la première fois puis qu'elle actualise à chaque fois dès qu'il y a des données.

    Car ce que j'ai actuellement c'est tout le temps un startActivity

  6. #6
    Expert confirmé

    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
    Par défaut
    je souhaiterais garder mon activity lancé la première fois puis qu'elle actualise à chaque fois dès qu'il y a des données.

    Car ce que j'ai actuellement c'est tout le temps un startActivity
    Utilise un Handler . Si tu sais que ton activity est lancé .
    C'est facile a savoir si ton handler est null alors pas d'activity si ton handler est non null alors tu envoie ton message .

    Tu ajustes la variable de l'handler a partir de l'activity.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    puis je avoir un exemple?

    peut-on le faire avec un binder?

  8. #8
    Expert confirmé

    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
    Par défaut
    puis je avoir un exemple?
    Euh ....

    http://developer.android.com/referen...p/Service.html

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    doit-on faire tout le temps un startActivity(monintent) afin d'envoyer l'intent à l'activity?

  10. #10
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Est ce que tu as regardé les BroadCastReceiver ?

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    oui mais ce n'est pas ce que je compte faire

    car je souhaiterais que l'intent du service soit attribué à une activity unique et non aux ensembles des activités.

  12. #12
    Expert confirmé

    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
    Par défaut
    doit-on faire tout le temps un startActivity(monintent) afin d'envoyer l'intent à l'activity?
    Non , tu ne le fais que si l'activity n'es pas lancé. Soit la première fois .

    De plus cela suppose que tu lance une activity sans prévenir l'utilisateur . TU peux toujours garder tes données en mémoire et les envoyé quand l'activity est affichée.

    Pour cela utilise un Handler , il n'y a rien de plus simple .

    Dans ton Activity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private final Handler mHandlerActivity = new Handler() {
    	@Override
    	public void handleMessage(Message msg) {
    		super.handleMessage(msg);
    		String message = msg.getData().getString("tag");
             }
    };

    Dons ton Service.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Bundle b = new Bundle();
    				Message msg = mHandler.obtainMessage();
    				b.putString("tag", "ta valeur");
    				msg.setData(b);

    Il te manquera plus qu'a faire le lien entre le mHandlerActitivy et le mHandler .

    Et de là tu as un lien entre le service et l'activity si celle-ci est lancé.

    De plus ton service peu se lier par là suite à n'imnporte quelle activity tant que celle ci lui donne un handler .

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    merci

  14. #14
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 55
    Par défaut
    Bonjour,
    Désolé de ré-ouvrir ce post mais je ne vois pas comment faire le lien entre le handler de mon activity (qui est créer dans mon activity) et mon service.

    Merci,
    Drlord.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/03/2015, 10h47
  2. Réponses: 18
    Dernier message: 26/06/2008, 10h10
  3. envoi de données sur un même port
    Par manaboko dans le forum Développement
    Réponses: 7
    Dernier message: 05/10/2005, 15h53
  4. [PHP-JS] Envoi de données sur une même page...
    Par dudux dans le forum Langage
    Réponses: 8
    Dernier message: 14/09/2005, 13h51
  5. [debutant]envoie de données
    Par miloux32 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 14/08/2003, 10h24

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