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 :

Partager des données entre plusieurs activities


Sujet :

Android

  1. #1
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 927
    Par défaut Partager des données entre plusieurs activities
    Bonjour,

    tout est presque dit dans le titre.
    Je souhaite utiliser dans une activity B, appelée par l'activity A une donnée string affectée dans l'activity A.
    Dois (puis)-je déclarer ma variable dans une "super-classe" englobant les 2 autres ?

    D'avance, merci pour votre aide.

  2. #2
    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
    Tu peux passer la variable en paramètre au moment du lancement de l'Activté B par l'Activité A, en utilisant les intents. Voir intent.put() et intent.get()

  3. #3
    Membre très actif
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Par défaut
    tu peux déclarer le string comme static dans l'activity principale, la variable est donc visible partout les activity de ton projet

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 141
    Par défaut
    pour envoyer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Intent nomvariableintent = new Intent(nomdelaclasseoutues.this,nomdelaclasseoutuveuxaller.class)
    nomvariableintent .putExtra("nomdelavariable",contenudelavariable);
    startactivity(nomvariableintent );
    pour recevoir

    Bundle nomBundle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    nomBundle = this.getIntent().getExtras();
    nomvaribalequirecevralesdonnes = nomBundle.get....(nomdelavariable)
    si tu envoie un integer tu dois recevoir un integer sinon çe ne s'affichera pas

  5. #5
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 927
    Par défaut
    Bonjour,

    et merci pour vos réponses.

    @tlili info : j'aime pas trop les déclarations globales. On est (je suis) vite perdu dès qu'il y en a beaucoup qui sont utilisées un peu partout dans l'application. Et puis il faut être très attentif lorsque l'on modifie les valeurs : doivent-elles juste être modifiées localement ou globalement, etc

    @xavier et agriesean : quelles différences et avantages/inconvénients entre put et putextra (get et getextra) ?

  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
    @xavier et agriesean : quelles différences et avantages/inconvénients entre put et putextra (get et getextra) ?
    C'est simple le put() n'existe http://pas,http://developer.android....nt/Intent.html, je pense que Xavier voulais faire référence au putExtra et getExtra que t'a expliqué Agriesean .

    Bonne journée

  7. #7
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 927
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    C'est simple le put() n'existe http://pas,http://developer.android....nt/Intent.html, je pense que Xavier voulais faire référence au putExtra et getExtra que t'a expliqué Agriesean .

    Bonne journée
    En effet ...
    Merci et bonne journée.

  8. #8
    Membre très actif
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Par défaut
    tu hérites de la classe et tu créer un simple accesseur

  9. #9
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 927
    Par défaut
    Citation Envoyé par CLion Voir le message
    tu hérites de la classe et tu créer un simple accesseur
    Bonjour,

    1. je débute totalement en java : je ne sais même pas faire cela
    2. Sans vouloir te vexer, cette proposition me paraît tellement simple que je m'étonne qu'elle n'ait pas été proposée plus tôt ...

  10. #10
    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
    Ca revient à la solution que tu as évoquée dans ton premier message, à savoir :

    Citation Envoyé par Christophe Charron
    Dois (puis)-je déclarer ma variable dans une "super-classe" englobant les 2 autres ?
    Le soucis de celle-ci est qu'il faudrait déclarer la variable en static pour avoir une variable de classe (et peut-être faire attention à un accès concurrent ...)

    Si tu fais toujours A => B, l'intent devrait totalement répondre à ton besoin.
    Par contre, si tu fais A => B => A => ... elle le pourrait aussi, avec quelque petits traitement supplémentaire à faire dans le onCreate/onResume.

    Un autre moyen qui n'a pas été évoqué serait de créer un fichier privé qui serait écrasé à chaque fois (ou pas ... dépend encore de ton besoin), mais ça deviendrait peut-être un peu gros pour passer une simple chaîne de caractères.
    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. [XL-2003] Comparaison des données entre plusieurs colonnes
    Par floctc dans le forum Excel
    Réponses: 6
    Dernier message: 08/12/2009, 20h56
  2. Partager des variables entre plusieurs actions ds un controlleur
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 6
    Dernier message: 11/10/2007, 09h38
  3. Partage de données entre plusieurs prcessus (fork())
    Par mobscene dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2007, 17h36
  4. [Portlet] Partager des objest entre plusieurs Portlet
    Par sammm dans le forum Portails
    Réponses: 4
    Dernier message: 16/01/2007, 13h35

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