In der Entwicklung müssen wir manchmal zu einem festen Zeitraum eine bestimmte Aufgabe ausführen. Beispielsweise müssen die Steuerelemente der Benutzeroberfläche im Laufe der Zeit ändern. Wir können die von Java bereitgestellten Werkzeugklassen von Timer und Timertask verwenden.
Timer ist eine gewöhnliche Klasse mit mehreren wichtigen Methoden. TimerTask ist eine abstrakte Klasse mit einer abstrakten Methode Run (), ähnlich der Run () -Methode in einem Thread. Wir verwenden Timer, um ein Objekt zu erstellen, und verwenden dann die Zeitplanmethode dieses Objekts, um diesen Intervallvorgang abzuschließen.
Die Zeitplanmethode hat drei Parameter
Der erste Parameter ist ein Objekt vom Typ Timertask. Die Run () -Methode zur Implementierung von Timertask ist eine Aufgabe, die regelmäßig ausgeführt werden muss.
Es gibt zwei Arten des zweiten Parameters. Der erste ist langer Typ, der angibt, wie lange es dauert, um die Ausführung zu starten, und der andere ist Datumstyp, der angibt, dass die Ausführung nach dieser Zeit beginnt.
Der dritte Parameter ist der Ausführungszyklus, der von langer Typ ist.
Die Zeitplanmethode hat auch eine Überlastung von Zwei-Parameter-Ausführungen. Der erste Parameter ist noch Timertask, und die zweite Form, die dargestellt wird, gibt an, wie lange er nach seiner Ausführung ausgeführt wird. Für das Datum bedeutet dies, dass es nach einer bestimmten Zeit ausgeführt wird.
Timer ist ein Thread, der die Zeitplanmethode verwendet, um die Planung von Timertask zu vervollständigen. Mehrere TimerTasks können einen Timer teilen. Das heißt, das Timer -Objekt ruft einmal die Zeitplanmethode auf, die einen Thread erstellt. Nachdem der Zeitplan einmal aufgerufen wird, wird Timertask unbegrenzt und verwenden Timer's Cancel (), um den Vorgang zu stoppen. Natürlich werden nach demselben Timer die Cancel () -Methode einmal ausgeführt, alle Timer -Threads beendet.
Verwendung:
// true bedeutet, dass dieser Timer im Daemon -Modus ausgeführt wird (niedrige Priorität, der Timer beendet das Programm und endet automatisch) java.util.timer timer = new java.util.timer (true); TimerTask task = new timerTask () {public void run () {// geben den Code ein, der jedes Mal ausgeführt werden muss, wenn er hier eingestellt werden muss. }}; // Folgende Methoden für die Planung von Aufgaben: // Uhrzeit ist Datumstyp: einmal zu einer bestimmten Zeit ausgeführt. Timer.Schedule (Aufgabe, Zeit); // Erstmal ist der Datumstyp, der Periode ist lang, was darauf hinweist, dass er alle Millisekunden vom ersten Mal ausgeführt wird. Timer.Schedule (Aufgabe, erstmals, Zeitraum); // Verzögerung ist typisch: Verzögerung wird von nun an einmal alle Millisekunden ausgeführt. Timer.Schedule (Aufgabe, Verzögerung); // Verzögerung ist lang, der Zeitraum ist lang: Nach der Verzögerung von Millisekunden von jetzt an werden alle Millisekunden ausgeführt. Timer.Schedule (Aufgabe, Verzögerung, Periode); Beispielcode:
importieren android.app.Activity; importieren Android.os.bundle; Import Android.os.handler; import Android.os.message; import Java.util.timer; import Java.util.timertask; öffentliche Klasse TimerTaskActivity erweitert die Aktivität {privater Timer mtimer; @Override Protected void OnCreate (Bündel savedInstancestate) {Super.oncreate (SavedInstancestate); // init timer mtimer = new Timer (); // Timer Task setTimerTask () starten; } @Override protected void onDestroy () {Super.onDestroy (); // Timer mtimer.cancel () abbrechen; } private void setTimerTask () {mtimer.schedule (new timerTask () {@Override public void run () {message message = new message (); message } / ** * Machen Sie eine Aktion * / private Handler doactionHandler = new Handler () {@Override public void Handlemessage (Message MSG) {Super.HandLemessage (msg); int msgid = msg.what; Switch (MSGID) {Fall 1: // machen Sie eine Aktionspause; Standard: Break; }}}; }Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.