TimerTask mit AndroidTimerTask on Android

Ein TimerTask (java.util.TimerTask) wird verwendet um wiederkehrende Aufgaben auszuführen. Soll dabei eine Oberflächenkomponente aktualisiert werden darf dieses nicht in dem TimerTask ausgeführt werden. Oberfläche darf nur aus dem UI-Tread verändert werden. Eine Möglichkeit ist das posten eines Runnables in eine UI-Komponente.

Im folgenden Beispiel wird ein TimerTask verwendet um die Oberfläche zu aktualisieren. Dabei wird jede Sekunde geprüft ob eine WLAN-Verbindung vorliegt. Wenn ja, wird der TimerTask beendet und die Oberfläche aktualisiert. Diese Aufgaben werden über das lbStatus-Label in dem UI-Thread ausgeführt.

final Timer timer = new Timer();
timer.schedule(new TimerTask() {
   @Override
   public void run() {
      lbStatus.post(new Runnable() {
         public void run() {
            if (ensureWLANConnected()) {
               timer.cancel();
               updateUI();
            }
         }
      });
   }
}, 1000, 1000);


One thought to “TimerTask mit AndroidTimerTask on Android

  1. Ja, nett – versteh nur kein Wort

    Gibt’s noch ne andere Möglichkeit?

    Den Timer will ich nicht beenden

    Einfach hier reinschreiben, die E-Mail stimmt sowieso nicht 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.