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 :

Gestion des intents [Débutant(e)]


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 60
    Par défaut Gestion des intents
    bonjour,
    Je gère le passage entre les activité en donnant une valeur à (putExtras) .
    Mais si jamais j'ai 2 activités , chacune à sa propre clé, comment gerer ce cas ?
    Voila le bout de code qui me gène:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
            if(this.getIntent().getExtras()!=null)
            {
            	c=(Client) this.getIntent().getExtras().get("inscri");
            	login.setVisibility(View.GONE);//invisible==gone
            	signup.setVisibility(View.GONE);
     
     
     
            }
            else if(this.getIntent().getExtras()!=null)
            {
            	c=(Client) this.getIntent().getExtras().get("logged");
            	signup.setText("");
            	login.setText(c.getNom()+" "+c.getPrenom()+" logged successfully");
            }
    Merci de m'aider.

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Pour ton souci, je te conseil de passer tes clés (dans ton exemple "inscri" et "logged") en tant que constante statique, et de n'utiliser que ceci.

    Je ne comprends pas vraiment la question, même si je crois que j'ai répondu à ton besoin
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 60
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Pour ton souci, je te conseil de passer tes clés (dans ton exemple "inscri" et "logged") en tant que constante statique, et de n'utiliser que ceci.

    Je ne comprends pas vraiment la question, même si je crois que j'ai répondu à ton besoin
    Merci pour votre interet.
    J'ai essayé donc ainsi et ca marche (c'est la même que vous me conseillez j'espere )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
            if(this.getIntent().getExtras()!=null)
            {
            	if(this.getIntent().getExtras().containsKey("inscri"))
            	{
                	c=(Client) this.getIntent().getExtras().get("inscri");
                	login.setVisibility(View.GONE);//invisible==gone
                	signup.setVisibility(View.GONE);
            	}
            	else if(this.getIntent().getExtras().containsKey("logged"))
            	{
                	signup.setText("");
                	c=(Client) this.getIntent().getExtras().get("logged");
                	login.setText(c.getNom()+" "+c.getPrenom()+" logged successfully");
            	}
     
     
     
     
            }

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Euh, non ^^'

    Déclare tes clés ainsi :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public static final String INSCRI = "inscri";
    public static final String LOGGED = "logged";

    Et utilise ensuite les constantes déclarées en tant que clé.

    Mais, je ne comprends toujours pas ce que tu cherches à faire.

    Tu cherches à faire passer des informations via une Intent, et récupérer celle-ci, mais la clé n'est pas forcément la même selon le traitement, bien que la cible soit la même, c'est bien ça ?

    Dans ce cas, à mon avis, utiliser une seule clé, et tester la valeur de celle-ci (dans ton exemple, ce serait de prendre l'objet Client passé en Extra, et de tester s'il est connecté PUIS de faire le traitement).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 60
    Par défaut
    Voila c'est ca, j'aimerais donc tester s'il est inscri ou connecté !
    Mais je débute en android pourriez vous m'indiquer un petit exemple de 2 lignes ?
    Merci

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Je ferai ça ainsi :

    Avant de lancer l'intent (donc, au moment de la création de celle-ci), mettre à jour l'état de l'objet Client (un booléen indiquant s'il est connecté ou non, une énumération définissant l'état, autre solution ...).

    Ensuite, au moment de peupler l'intent, faire un intent.putExtra(Keys.CLIENT_KEY, theClient);.
    Puis, lancer l'intent et faire démarrer la seconde activité.

    Ensuite, côté réception, je ferai comme toi :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (getIntent().getExtras().containsKey(Keys.CLIENT_KEY))
    Client client = getIntent().getExtras().get(Keys.CLIENT_KEY));
    if (client.isLogged())
    {
    // traitement si le client est authentifié
    }
    else
    {
    // traitement s'il ne l'est pas
    }

    Remarque : la classe "Keys" est une classe créée pour l'occasion. Son rôle est de contenir les clés utilisées.

    Mais bon, à mon avis, ce serait mieux de faire ce genre de chose avant de passer la main à une autre activité, et de ne lancer la suivante qu'une fois loggé.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

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

Discussions similaires

  1. gestion des groupes
    Par muaddib dans le forum QuickReport
    Réponses: 3
    Dernier message: 31/12/2002, 11h01
  2. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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