Как сделать секундомер android studio

Chronometer

Компонент Chronometer находился в разделе Date в старых версиях студии. Позволяет пользователю запускать и останавливать начальный отсчёт времени, а также задавать время запуска таймера.

Основные методы:

  • start() — запускает отсчёт времени;
  • stop() — останавливает отсчёт времени;
  • setFormat() — задаёт формат отображения времени. По умолчанию используется формат «MM:SS» или «H:MM:SS». Можно задать свой формат, при этом в строке format первое встреченное «%s», будет заменено на «HH:MM». Например: «Time: %s» будет выводить время «Time: 01:30»

Класс Chronometer имеет интерфейс OnChronometerTickListener.

Поместите на экран активности компонент Chronometer и три кнопки Старт, Стоп, Сброс.

Напишем код для запуска, остановки и сброса секундомера. Весь код сводится обработке щелчков кнопки.

В примере также добавлена реализация OnChronometerTickListener — когда секундомер отсчитает 5 секунд, то появится всплывающее сообщение.

Обратный отсчёт

В API 24 появился новый метод setCountDown(), позволяющий работать в режиме обратного отсчёта. Родственный XML-атрибут для него — android:countDown. Метод isCountDown() позволит узнать, в каком режиме работает хронометр.

Последний отсчёт

Читая документацию, наткнулся на новый метод из API 26 (Android 8.0 Oreo) — isTheFinalCountDown(). Я запустил этот код и чуть не упал со стула от неожиданности — неожиданно в телефоне заиграл видеоролик с песней «The Final Countdown/Последний отсчёт» группы «Европа/Europe». Разработчики развлекаются.

Источник

Как сделать секундомер android studio

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

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

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

Читайте также:  Навигатор водоемов для андроид

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

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

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

Источник

Как создать приложение секундомера с помощью Android Studio

В этой статье создается приложение для Android для отображения основного секундомера.

Макет для секундомера включает в себя:

  • TextView : показывает, сколько времени прошло
  • Три кнопки:
    1. Старт: чтобы запустить секундомер.
    2. Стоп: чтобы остановить секундомер.
    3. Сброс: для сброса секундомера на 00:00:00.

Шаги по созданию секундомера:

  • Создайте новый проект для приложения «Секундомер»
  • Добавить строковые ресурсы
  • Обновите код макета секундомера
  • Обновите код активности

Ниже приведены подробные пошаговые инструкции:

    Создайте новый проект для приложения «Секундомер»
      Создайте новый проект Android для приложения с именем «Секундомер» с доменом компании «geeksforgeeks.org», сделав пакет именем org.geeksforgeeks.stopwatch .

Создайте новый проект и выберите Пустое действие

Первый начальный экран

Strings.xml

activity_stopwatch.xml

Мы обновим секундомер, используя созданный нами метод runTimer () . Метод runTimer () будет запускать код каждую секунду, чтобы проверить, работает ли секундомер, и, если это так, увеличивает количество секунд и отображает количество секунд в текстовом представлении.

Чтобы помочь нам в этом, мы будем использовать две частные переменные для записи состояния секундомера. Мы будем использовать int с именем seconds, чтобы отслеживать, сколько секунд прошло с момента запуска секундомера, и логическое значение с именем running, чтобы записать, работает ли секундомер в данный момент.

Мы начнем с написания кода для кнопок, а затем рассмотрим метод runTimer () .

  • Добавление кода для кнопок. Когда пользователь нажимает кнопку «Пуск», мы устанавливаем для переменной runningзначение true, чтобы секундомер запустился. Когда пользователь нажимает кнопку «Стоп», мы устанавливаем для бега значение false, чтобы sopwatch перестал работать. Если пользователь нажимает кнопку «Сброс», мы установим для бега значение « ложь», а для секунд0, чтобы секундомер был сброшен и перестал работать.
  • Метод runTimer () Следующее, что нам нужно сделать, это создать метод runTimer () . Этот метод получит ссылку на текстовое представление в макете; отформатируйте содержимое переменной секунд в часы, минуты и секунды; а затем отобразите результаты в текстовом виде. Если для текущей переменной установлено значение true , она увеличит значение переменной секунд.
  • Обработчики позволяют вам планировать код . Handler — это класс Android, который вы можете использовать для планирования кода, который должен быть запущен в какой-то момент в будущем. Вы также можете использовать его для публикации кода, который должен выполняться в другом потоке, чем основной поток Android. В нашем случае мы собираемся использовать обработчик, чтобы запланировать запуск кода секундомера каждую секунду.
    Чтобы использовать Handler , вы оборачиваете код, который хотите запланировать, в объект Runnable , а затем используете методы Handle post () и postDelayed (), чтобы указать, когда вы хотите, чтобы код запускался.
  • Метод post () Методpost () публикует код, который необходимо запустить как можно скорее (обычно это происходит немедленно). Этот метод принимает один параметр — объект типа Runnable . Объект Runnable в Androidville похож на Runnable в простой старой Java: задание, которое вы хотите выполнить. Вы помещаете код, который хотите запустить, в метод Runnable run () , и Handler позаботится о том, чтобы код был запущен как можно скорее.
  • Метод postDelayed () МетодpostDelayed () работает аналогично методу post (), за исключением того, что вы используете его для публикации кода, который должен запускаться в будущем. Метод postDelayed () принимает два параметра: Runnable и long . Runnable содержит код, который вы хотите запустить в своем методе run () , а long указывает количество миллисекунд, на которое вы хотите отложить код. Код будет запущен как можно скорее после задержки.

Источник

Android Chronometer Example

android.widget.Chronometer is an android provides timer component.It is also extends android.widget.TextView . So you can use a lot of TextView’s xml attributes and methods. But this article will show you examples about how to use Chronometer self owned attributes and methods.

1. Chronometer Use Case.

  1. Display digital time text with default format like mm:ss. This is commonly use case.
  2. Display a count down timer.
  3. Display what ever text that you want to display every second.
  4. Display different images every second.

2. Chronometer Core Methods.

  1. setBase(long timerBaseTime) : Base time is the timer start count time. You can use this method to set it to any time. If you do not set, it will use the default time when the chronometer instance is created.
  2. start() : Start the timer, then you can see the chronometer text area time value increased every one second in general. You can see the demo video on URL https://youtu.be/Pvx7lZbfeHU.
  3. stop() : Stop the timer from counting, then the time value will not update. But if you call start() method later, because the base time is not change, so you can see the time value will bounce to a little bigger time. If you want chronometer count from 00:00, you need to call setBase(SystemClock.elapsedRealtime()) to set the base time to current system time. Then start the timer again immediately.
  4. setOnChronometerTickListener(new Chronometer.OnChronometerTickListener()) : If you want to customize the timer behaviour, you should set a OnChronometerTickListener instance. This listener will be invoked automatically for every second when the timer counting. You just need to override it’s onChronometerTick() mehtod, this method will be invoked every second.

3. Chronometer Example.

Источник

Создание таймера CountDownTimer в Android на примере

Проблема

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

Решение

Платформа Android поставляется со встроенным классом для создания таймера обратного отсчета CountDownTimers . Он прост в использовании, эффективен и работоспособен (это само собой разумеется!).

Обсуждение

Для создания таймера обратного отсчета выполните следующие действия.

  1. Создайте подкласс Конструктор этого класса принимает два аргумента: CountDownTimer (long millisInFuture, long countDownlnterval) . Первый — это количество миллисекунд с того момента, когда нужно сделать интервал; на данный момент будет вызываться метод подкласса onFinish() . Второй — частота в миллисекундах, определяющая, как часто вы хотите полу­чать уведомления о том, что таймер все еще работает. Это типично для обнов­ления монитора прогресса или другого обмена данными с пользователем. Ваш метод подкласса onTick() будет вызываться каждый раз по истечении данного количества миллисекунд.
  2. Переопределите методы onTick()
  3. Создайте новый экземпляр класса
  4. Вызовите метод start() для вновь созданного экземпляра!

Пример программы для таймера обратного отсчета состоит из компоновки XML (показанной в примере 1) и некоторого кода Java (показанного в примере 2). При запуске он должен выглядеть примерно так, как показано на рис. 1, хотя вре­мя, вероятно, будет иным.

Пример 1. Файл main.xml

Пример 2. Файл Main, java

Рис. 1. Сброс таймера

URL-адрес для загрузки исходного кода

Исходный код этого примера можно посмотреть и скачать на странице Github.

Источник

Читайте также:  Что дает андроид приставка для смарт телевизора
Оцените статью