Використовуємо timer для виконання запланованих завдань через timertask

Використовуємо Timer для виконання запланованих завдань через TimerTask

Для того, щоб у фоновому режимі виконати звіт часу, по закінченню якого в вашому додатку повинно статися будь-яке подія, можна використовувати вбудований клас Timer і TimerTask. Сам клас Timer служить виключно для відліку часу, він може працювати в двох режимах: одноразове виконання завдання, або ж повторювана дія (наприклад, нагадування, що у вас не ліцензійна версія антивіруса :). Метод TimerTask використовується для опису дій, які повинні відбуватися по закінченню часу відліку в таймері Timer. Тобто, тут реалізується візуальне прояв роботи таймера, інакше він просто буде вважати себе в тлі і все без толку, ніхто про нього навіть не дізнається.

Ми зробимо спочатку зовсім просту річ - створимо додаток з таймером, яке по закінченню часу в одну секунду буде висвічувати користувачеві даний час на апараті, а потім спробуємо ускладнити задачу і виконувати за допомогою таймера запуск другого activity.

Створюємо новий проект, вибираємо Blank Activity. У файлі activity_main.xml створюємо інтерфейс нашого застосування:

Тепер вся інша робота буде відбуватися за допомогою коду в MainActivity.java. Тут ми виконуємо стандартні кроки: оголошуємо використовувані об'єкти, зв'язуємося з елементами інтерфейсу. Ну і задаємо Timer і метод для виконання завдання по закінченню таймера TimerTask.

Ось так виконується реалізація системного Android Timer. Пробуємо запустити і дивимося на результат:

Використовуємо timer для виконання запланованих завдань через timertask

Тепер зробимо трохи складніше - при закінченні 5 секунд в таймері будемо запускати друге вікно програми. Як створити друге вікно і виконувати на нього перехід ми вже детально розбирали раніше.

Як ви вже зрозуміли, всі зміни будуть стосуватися лише часу таймера:

і опису дій в методі MyTimerTask.

Запускаємо і тестуємо:

Використовуємо timer для виконання запланованих завдань через timertask

Перехід виконано успішно! Як бачите, Android Timer досить проста і цікава річ, теоретично в метод TimerTask можна запхати що завгодно. Експериментуйте! А ще освойте лічильник зворотного відліку CountDownTimer.