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 :

Gérer des données envoyées par deux Intent différents


Sujet :

Android

  1. #1
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut Gérer des données envoyées par deux Intent différents
    Bonjour,
    Y'a t-il un moyen pour gérer les données envoyés par deux intent de classes différentes?
    c'est à dire par exemple j'ai deux classes, chaque classe a un traitement à part, indépendamment de l'autre. Cependant, les deux créent des intent pour une seul classe:exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	Intent view = new Intent(NearestCenter.this, GetCenterComments.class);
    		    			view.putExtra(NearestCenter.IDD, _id);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	Intent view = new Intent(OptionsMenu.this, GetCenterComments.class);
    		    			view.putExtra(OptionsMenu.IDD, _id);
    et puis le _id doit etre récupéré soit à travers OptionsMenu soit à travers NearestCenter
    mais le problème que je ne sais pas comment faire par exemple
    si ça vient de OptionsMenu alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Intent i = getIntent();
         // getting training center id from intent
            center_id = i.getStringExtra(OptionsMenu.IDD);
    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Intent i = getIntent();
         // getting training center id from intent
            center_id = i.getStringExtra(NearestCenter.IDD);
    pour expliquer plus, parfois l'accès à la classe se fait à travers NearestCenter et parfois à travers OptionsMenu.
    Merci pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Par défaut
    Bonjour janyoura,

    Si je comprends bien, vous souhaitez être capable d'identifier qui a fourni des données, il suffit de regarder ce qui est envoyé sachant que:

    - getStringExtra(java.lang.String) renvoi null si la clé n'existe pas
    - il existe hasExtra(java.lang.String) qui renvoie vrai si la clé existe, faux sinon.

    Ce qui donne deux possibilités:

    Première possibilité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(hasExtra(NearestCenter.IDD)){
         // Ici on récupère avec NearestCenter.
    }
     
    if(hasExtra(OptionsMenu.IDD){
        // Ici on récupère avec OptionMenu.
    }
    Seconde possibilité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(getStringExtra(NearestCenter.IDD) != null){
         // Ici on récupère avec NearestCenter.
    }
     
    if(getStringExtra(OptionsMenu.IDD) != null){
         // Ici on récupère avec OptionMenu.
    }
    C'est ce que vous cherchiez?

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Je pense que tout dépend de l'activité finale.

    On ne gère pas les Intents en fonction de l'appelant (A et B appellent C, on met à jour C en fonction de A et B).
    Mais dans l'autre sens: une activité C, quelles sont les actions (et leurs paramètres) qui font sens pour cette activité... Ensuite à A et B d'envoyer le bon intent.

    Je dis ceci pour plusieurs raisons: d'abord question séparation du code, puisque A et B vont appeler C, ils doivent le connaitre.... Mais gérés de cette manière, C va aussi devoir connaitre A et B...


    Donc dans l'idéal on aurait l'inverse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class ActivityC 
    {
          public static final String ACTION_1 = "XXXXXX";
          public static final String ACTION_2 = "XXXXXX";
     
          public static final String EXTRA_VAR1 = "XXXXX";
          public static final String EXTRA_VAR2 = "XXXXX";
          public static final String EXTRA_VAR3 = "XXXXX";
     
    }
    ActivityC se débrouille pour tout faire à partir de ces données là....

    ActivityA et ActivityB utilisent les définitions de ActivityC pour construire leur intents.

  4. #4
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    oui c'est exactement ça, merci.
    Je vais tester si ça marche correctement.

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

Discussions similaires

  1. [PHP 5.3] Niveaux de protection des données envoyées par la méthode post
    Par bailamos dans le forum Langage
    Réponses: 1
    Dernier message: 24/03/2010, 20h30
  2. [AJAX] encodé des donnés envoyé par POST
    Par stc074 dans le forum AJAX
    Réponses: 2
    Dernier message: 19/07/2009, 18h00
  3. Réponses: 2
    Dernier message: 30/04/2009, 12h46
  4. [Sécurité] Cryptage des données envoyées par le réseau
    Par DeusXL dans le forum Développement
    Réponses: 6
    Dernier message: 05/03/2007, 04h29
  5. Récuperation des données envoyées par Form en POST
    Par bobatel dans le forum Langage
    Réponses: 9
    Dernier message: 26/04/2006, 14h59

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