Bonjour j'ai un petit soucis je cherche a appeler des méthodes les unes après les autres avec un certain délai entre elle pour leur laisser le temps de s’exécuter.
Voici mon code :
Ensuite le updateGUI est appelé dans un Thread pour être mis à jours :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public void uptadeGUI (){ // Lancement de ma première méthode dNetworkName = sendCommand("./readData 0"); // Aprés x sec - lancement d'une seconde méthode dState = sendCommand("./readData 1"); // Aprés x sec - lancement d'une troisième méthode dIPv6 = sendCommand("./readData 2"); /* DISPLAY BORDER ROUTER NAME */ mBorderRouterName.setText("Border Router Name : " + System.getProperty("line.separator") + " " + DEVICE_NAAME); /* DISPLAY BORDER ROUTER STATE */ mBorderRouterState.setText("State : " + System.getProperty("line.separator") + " " + STATE + " - " + dState); /* DISPLAY NETWORK NAME */ mNetworkName.setText("Current Network : " + System.getProperty("line.separator") + " " + dNetworkName); /* DISPLAY IPv6 */ mNetworkIPv6.setText("Network IPv6 : " + System.getProperty("line.separator") + " " + dIPv6); }
Si vous avez une petite idée de comment je pourrais y arriver je suis preneur !
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { mBorderRouterName = (TextView) view.findViewById(R.id.textView6); mBorderRouterState = (TextView) view.findViewById(R.id.textView2); mNetworkName = (TextView) view.findViewById(R.id.textView3); mNetworkIPv6 = (TextView) view.findViewById(R.id.textView4); sendCommand("./writeData"); /* 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() { /* Appel de updateGUI() pour rafraichir les informations */ uptadeGUI (); } }); } catch (InterruptedException e) { e.printStackTrace(); } } } };t.start(); }
Merci d'avance
Partager