Използване на таймера

Често програмата трябва да извърши някакво действие (ние ще продължим да ги оспорва наричат) периодично или по график. J2ME осигурява механизъм за улесняване на изпълнението на тази задача. Говоря за таймера. За да го използвате, трябва да използвате два класа: java.util.TimerTask и java.util.Timer. TimerTask клас е абстрактно, а е в основата на всички планирани задачи, изпълнявани. Класът таймер осигурява създаване и управление на потока, в която се извършват тези задачи.

Нашата цел е да се реализира в TimerTask на подклас клас в метод пробег ():

В този случай, проблемът се свежда до линията за отстраняване на екрана.

TimerTask клас изпълнява java.lang.Runnable интерфейс. Написано от нашия метод трябва да се плати от таймера за клас. Един критичен параметър за това е скоростта на изпълнение, тъй като в момента само една задача може да се извършва и периодично пуснете тромав и бавен код може значително да забави цялата система.

Веднъж програмиран задача, трябва да зададете график за изпълнението му. За да направите това, като се използва методът на график () създава интерфейс таймер клас.

Можете да настроите график на четири вида: изпълнение на задача в строго определеното време (с помощта на Дата обекта), след закъснение (в милисекунди), на редовни интервали, на редовни интервали след определения начален час (изпълнява чрез метод scheduleAtFixedRate) Ако как, причината задачата се забави (например поради събиране на боклука), две или повече последващо изпълнение ще се случи при по-малки интервали от време, за да наваксат и да влиза в оригинала amechenny график.

Всеки обект Таймер генерира и управлява само един фон нишка. По-голямата част от приложения е само един таймер, но можете да използвате произволен брой от тях. Спри таймера и да унищожи своя поток, като се обадите на метода на анулира (). Имайте предвид, че спря таймерът не може да бъде рестартиран - трябва да се създаде нова и влиза отново в графика на задачи. Таймер използва сигурни потоци, което означава, че не е нужно да се извърши тяхното разположение във времето с помощта на таймера от различни нишки.

Спиране на таймера тя често се извършва в рамките на метода на нашата задача (бягане () метод). Повикване отмените метод () вътре тече () гарантира, че настоящата задача е за последен. Въпреки това, можете да се обадите прекратена () навсякъде в програмата.

Ето един прост пример, който използва таймер, за да създадете скрийнсейвър "Star Flight". Звездите са привлечени като точки, при използване на ниско ниво графика API.

Това MIDlet използва таймерът за обект. метод FieldMover се изпълнява всеки 100 милисекунди. Тя актуализира и очертава нови звездното небе, връщането назад всички звезди на всеки интервал. Това създава илюзията за космически полети.