Работаем с таймером обратного отсчета CountDownTimer
Главная » Работаем с таймером обратного отсчета CountDownTimer

В этом небольшом уроке мы научимся использовать в своем приложении такую простую и распространенную штуку, как CountDownTimer - счетчик обратного отсчета. Этот элемент Android интерфейса, как и любой другой мобильной или компьютерной ОС каждому из нас знаком до боли. Сколько времени вы убили глядя на надпись в файлообменнике - ссылка будет доступна через 10, 9, 8... Теперь пришло время и нам научиться делать в своем приложении такую пакость.

Создаем новый проект, выбираем Blank Activity и Android 2.2+. Пользовательский интерфейс нашего сегодняшнего приложения будет прост как дважды два - всего лишь один элемент TextView, в котором будет происходить текстовое отображение обратного отсчета. Открываем файл activity_main.xml и добавляем туда элемент TextView:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 tools:context=".ImagePickerActivity" >
 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:id="@+id/tv"
 android:layout_gravity="center"
 android:textSize="13pt"/>
</LinearLayout>

Создание таймера обратного отсчета совсем не сложно, для этого используется специальный встроенный класс под названием CountDownTimer. При настройке таймера такого типа используется всего 2 переменные: время до окончания обратного отсчета и шаг, с которым происходит отсчет, все это в миллисекундах. В классе CountDownTimer используется два метода: onTick () и onFinish (). В методе onTick () происходит настройка обновления текстовой информации о изменении показаний таймера, а в методе onFinish () происходит настройка желаемых действий после окончания обратного отсчета (например, подождите 3, 2, 1... Скачать файл, или переход на другой экран, что то в этом роде). 

Мы сделаем простейшую программу, в которой таймер обратного отсчета будет отсчитывать 20 секунд, после чего в элементе TextView будет появляться надпись "Бабах!" (как будто мы сделали таймер на бомбе).

Чтобы это сотворить, открываем файл MainActivity.java и добавляем сюда код:

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;

public class MainActivity extends Activity {

 private TextView mTimer;

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 mTimer = (TextView) findViewById(R.id.tv);

 //Создаем таймер обратного отсчета на 20 секунд с шагом отсчета
 //в 1 секунду (задаем значения в миллисекундах):
 new CountDownTimer(20000, 1000) {

 //Здесь обновляем текст счетчика обратного отсчета с каждой секундой
 public void onTick(long millisUntilFinished) {
 mTimer.setText("Осталось: "
 + millisUntilFinished / 1000);
 }
 //Задаем действия после завершения отсчета (высвечиваем надпись "Бабах!"):
 public void onFinish() {
 mTimer.setText("Бабах!");
 }
 }
 .start();
 }
}

Запускаем и проверяем работоспособность нашего таймера обратного отсчета:

таймер работает исправно бабах! таймер сработал

А еще выучите работу Android Timer.

Категория: Уроки программирования | Просмотров: 1770 | Добавил: Oleg | Теги: Android Timer, CountDownTimer, таймер, обратный отсчет | Рейтинг: 0.0/0
Всего комментариев: 0
avatar