Таймер в Java ME
от aNNiMON
Иногда при создании мобильных приложений приходится выполнять какие-либо действия через заданный промежуток времени. Например, в какой-нибудь игре нужно выпускать на поле новых монстров каждые 5 секунд. В таком случае удобно использовать таймер, который находится в пакете java.util. Использование таймера крайне простое.
Первым делом необходимо создать экземпляр класса Timer:Далее создаем объект TimerTask и переопределяем его метод run(). Например так:Кстати, метод vibrate() объекта типа Display заставляет телефон вибрировать. В параметр нужно написать длительность вибрации в миллисекундах.
После того как созданы объекты таймер и задание, можно их запустить. Для этого у таймера есть методы:
1.Помещают заданную задачу на исполнение в заданное время или с заданной отсрочкой. Если указанное время уже прошло, задача ставится на немедленное исполнение.
2.Ставят задачу на периодическое выполнение с указанного времени с заданным интервалом. Каждое выполнение будет отсрочено на заданное количество миллисекунд от реального времени предыдущего выполнения. Таким образом, более точно выдерживаются относительные интервалы, а не абсолютное время выполнения.
3.Аналогично предыдущей группе методов, но выполнение будет происходить с приоритетом абсолютной привязки по времени(и, как следствие, общего времени для фиксированного числа запусков), независимо от фактического времени предыдущего выполнения, возможно, с нарушением длительности интервалов.
Параметры delay и period указываются в миллисекундах.
Выполнение задания можно отменить методом cancel().
Скачать пример использования таймера
Оригинал: http://truecoder.ru/
Первым делом необходимо создать экземпляр класса Timer:
- Timer timer = new Timer();
- TimerTask tTask = new TimerTask() {
- public void run() {
- display.vibrate(100); // вибрировать 100 миллисекунд
- }
- };
После того как созданы объекты таймер и задание, можно их запустить. Для этого у таймера есть методы:
1.
- schedule(TimerTask task, Date time)
- schedule(TimerTask task, long delay)
2.
- schedule(TimerTask task, Date firstTime, long period)
- schedule(TimerTask task, long delay, long period)
3.
- scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
- scheduleAtFixedRate(TimerTask task, long delay, long period)
Параметры delay и period указываются в миллисекундах.
Выполнение задания можно отменить методом cancel().
Скачать пример использования таймера
Оригинал: http://truecoder.ru/