Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Problème pour les passages de variables

Sujet résolu
    6 février 2013 à 17:06:41

    Bonjour à tous,

    Je commence à développer sur Android et j'ai fait une application avec 10 activity. La première lance le seconde...

    1 -> 2 -> 3 ... et je passe mon résultat à chaque fois d'une activity à une autre et je n'ai pas de problème avec ça.

    Seulement maintenant je voudrais faire passer une valeur acquise lors de ma première activity à la dernière mais tout en continuant mon cycle dans l'application. Je veux juste pouvoir récupérer une variable de ma premère activité dans la dernière.

    Je ne sais pas si j'ai été assez clair mais je vous remercie par avance pour l'aide que vous pourrez m'apporter.

    Cordialement.

    • Partager sur Facebook
    • Partager sur Twitter
      6 février 2013 à 18:17:09

      //Activité 1
      
      String ta_var ="bla bla bla";
      
      Intent activite2 = new Intent(activite1.this, activites2.class);
      
      activite2.putExtra("key",ta_Var);
      
      startActivity(activite2);
      
      
      
      //dans le onCreate de l'activité2
      
      string ressu = "";
      
      Bundle var = this.getIntent().getExtras();
      ressu = var.getString("key");

      key est une clés en gros le nom de ta variable dans le Bundle

      je t'ai donner l'exemple pour le String, mais avec la doc tu aura pour tout autre type de variable.

      • Partager sur Facebook
      • Partager sur Twitter
        6 février 2013 à 18:25:56

        Tout d'abord merci pour ta réponse.

        Mais en fait j'ai fait comme ça pour faire passer mes valeurs, ce que tu montres c'est pour passer de 1 à 2 avec un passage de valeurs.

        Moi je veux passer de 1 à 2 puis ainsi de suite jusqu'à 10 mais je veux faire passer le paramètre de 1 à 10 sans passer par 2 ou 3 ou etc.

        • Partager sur Facebook
        • Partager sur Twitter
          6 février 2013 à 18:29:33

          heu.. Je croit que je n'ai pas tout bien comprit la...

          Peut tu m'expliquer un peut mieux s'il te plait

          • Partager sur Facebook
          • Partager sur Twitter
            6 février 2013 à 18:37:08

            En fait je vais avoir une variable (un float) dans mon activity 1 et je veux pouvoir utiliser cette valeur dans mon activity 10. Seulement après l'activity 1 je veux aller à la seconde. Finalement à la dernière activity je veux avoir des variables qui m'auront été envoyées des autres activity.

            J’espère avoir été un peu plus clair. Mais vraiment je souhaite simplement pouvoir réutiliser dans une autre activity une variable définie précédemment.

            Merci

            • Partager sur Facebook
            • Partager sur Twitter
              6 février 2013 à 18:44:17

              Tu peut essayer de toujours envoyer ta variable par Bundle entre chaque activité. car deux activité ne peuvent être au premier plan en même temps.

              ainsi tu aura accès a ta variable dans toute les activité puisse quelle transitera de sorte a rester avec l'activité qui est au premier plan.

              (Dans mon application, j'ai aussi des variable que j'ai besoin partout et c'est le système que j'ai mit en place.)

              • Partager sur Facebook
              • Partager sur Twitter
                6 février 2013 à 18:45:17

                Salut,

                Ce n'est sûrement pas la meilleure méthode, mais tu peux declarer tes variables en globales, c'est à dire, en "public static", ces variables seront accessibles dans toutes tes classes, et tu peux les recuperer en faisant "maClass.maVar", avec "maVar" déclarée en "public static int(par exemple) maVar".

                • Partager sur Facebook
                • Partager sur Twitter
                  6 février 2013 à 18:49:12

                  Je me permet d'emetre un petit doute sur cette methode du fait que une foit l'activité n'etant plus au premier plan, la variable peut etre supprimer par Android afin de garder un minimum de RAM disponible non?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 février 2013 à 18:51:10

                    @ Willoss : tu peux me dire comment on envoi plusieurs variable dans un bundle en même temps alors s'il te plait?

                    Je sais pas ce qui est le plus lourd : faire avec des bundle ou en variables globales. Mais je n'ai pas bien compris comment faire une variables globales?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 février 2013 à 18:58:40

                      //Envoie
                      
                      Intent intent = new Intent(activite_dep.this, activite_arr.class);
                      	
                      
                      String var_1 = "Voila";
                      String var_2 = "Comment envoyer: ";
                      int var_3 = 4;
                      String var_4 = "Varaible par Bundle";
                      	//debut de l'envoie par Bundle
                      	intent.putExtra("var1", var_1);
                      	intent.putExtra("var2", var_2);
                      	intent.putExtra("var3", var_3);
                      	intent.putExtra("var4", var_4);
                      
                      
                      //Reception
                      String var_1="", var_2="", var_4="";
                      int var_3=0;
                      
                      Bunble var = this.getIntent().getExtras();
                      
                      var_1 = var.getString("var1");
                      var_2 = var.getString("var2");
                      var_3 = var.getInt("var3");
                      var_3 = var.getString("var4");
                      et ceci tu le repete sur X varaible de Y type different et sur Z activité

                      -
                      Edité par Willoss 6 février 2013 à 19:00:28

                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 février 2013 à 19:01:11

                        D'accord. Merci bien à vous deux. Je vais tester les deux méthodes.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 février 2013 à 21:59:30

                          Pour quelle méthode a tu donc opter?
                          • Partager sur Facebook
                          • Partager sur Twitter

                          [Android] Problème pour les passages de variables

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown