Partage
  • Partager sur Facebook
  • Partager sur Twitter

Délai entre méthode

    1 août 2018 à 10:38:35

    Bonjour, 

    Je voudrais effectué les actions suivantes : 

    // Lancement de ma première méthode
    
    methode1();
    
    // Aprés x sec - lancement d'une seconde méthode
    
    methode2();
    
    // Aprés x sec - lancement d'une troisième méthode
    
    methode3();
    
    

    J'avoue ne pas être très au point sur les threads mais je comptai m'orienter vers cette solution.

    Si vous avez un exemple de code qui peut faire ce que je souhaite je suis preneur.

    Merci d'avance et bonne journée ! 

    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2018 à 13:11:20

      Bonjour voici un exemple avec un sleep()


      public class Main {
      
      
          public static void main(String[] args) {
      
              System.out.println("Bonjour");
              
              try {
                  Thread.sleep(1000);
              } catch (InterruptedException e) {
                  e.printStackTrace();
              }
              
              System.out.println("et");
              
              try {
                  Thread.sleep(1000);
              } catch (InterruptedException e) {
                  e.printStackTrace();
              }
              
              System.out.println("bienvenue");
          }
          
      }

      J'affiche "bonjour", j'attend 1000ms, j'affiche "et", attend 1000ms et affiche "bienvenue"
      C'est bien ce que tu souhaites ?

      -
      Edité par Morin21 1 août 2018 à 13:13:43

      • Partager sur Facebook
      • Partager sur Twitter
        1 août 2018 à 14:01:36

        Oui cela me semble correspondre je vais essayer comme ça. 

        Je te dirais si c'est bon, merci dans tous les cas.

        • Partager sur Facebook
        • Partager sur Twitter
          1 août 2018 à 16:30:09

          J'ai un doute, tu veux qu'il se passe une certaine durée entre chaque méthode ? Ou alors tu veux assez de temps pour que tes méthodes se finissent avant de passer à la suivante ?

          • Partager sur Facebook
          • Partager sur Twitter
            2 août 2018 à 9:50:34

            J'aimerais que ma méthode soit terminé et ensuite lancer la suivante mais en mettant un délai cela doit aussi fonctionner.
            • Partager sur Facebook
            • Partager sur Twitter
              2 août 2018 à 10:57:38

              Du coup un simple sleep comme proposé fera bien l'affaire :)
              • Partager sur Facebook
              • Partager sur Twitter
                6 août 2018 à 17:32:24

                Je reviens vers vous car je n'arrive finalement pas à faire ce que je souhaite :(

                Voici mon code : 

                 @Override
                    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
                       
                        /* Display to refresh all the informations */
                        Thread t=new Thread(){
                            @Override
                            public void run(){
                                while(!isInterrupted()){
                                    try {
                                        Thread.sleep(1000);  //1000ms = 1 sec
                                        if(getActivity() == null)
                                            return;
                                            getActivity().runOnUiThread(new Runnable() {
                                            @Override
                                            public void run() {
                                                uptadeGUI ();
                                            }
                                        });
                
                                    } catch (InterruptedException e) {
                                        e.printStackTrace();
                                    }
                
                                }
                            }
                        };t.start();
                    }

                et uptadeGUI();

                 public void uptadeGUI (){
                
                        dNetworkName = sendCommand("./readData 0"); 
                
                // Je souhaite ajouter un délai ici de x secondes   
                
                        dState = sendCommand("./readData 1");
                
                // Je souhaite ajouter un délai ici de x secondes 
                
                        dIPv6 = sendCommand("./readData 2");
                }




                • Partager sur Facebook
                • Partager sur Twitter
                  10 août 2018 à 12:40:30

                  Tu souhaites refresh le GUI toutes les 1s ?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Délai entre méthode

                  × 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