Android CountDownTimer Example

In this android countdown timer example, we’ll implement a timer object to display the progress in a ProgressBar. The application we’ll build in this tutorial is a useful component in Quiz apps where the time left to complete the level is displayed graphically to enhance the user experience.

Android CountDownTimer

Android CountDownTimer class is used to schedule a countdown until a time in the future defined by the user, with regular notifications on intervals along the way. This class is an abstract class whose methods need to be overridden to implement it in our project. The following line needs to be added in our activity to import the class :

import android.os.CountDownTimer;

The relevant methods of the CountDownTimer Class are given below.

  1. synchronized final void cancel() : This is used to cancel the countdown
  2. abstract void onFinish() : This callback method is fired when the timer finishes
  3. abstract void onTick(long millisUntilFinished) : This callback method is fired on regular intervals
  4. synchronized final CountDownTimer start() : This method is used to start the countdown

The signature of the public constructor of the CountDownTimer class is given below.

CountDownTimer(long millisInFuture, long countDownInterval)

The parameters of the constructors are defined as follows :

  • millisInFuture : The number of milli seconds in the future from the call to start() until the countdown is done and onFinish() is called
  • countDownInterval : The interval along the way to receive onTick(long) callbacks

In this project we’ll update the time values in a ProgressBar as the onTick() method is invoked repeatedly.

Android Countdown Timer Example Project Structure

android-countdown-timer-project-301x450

 

Android Countdown Timer Code

The activity_main.xml consists of two buttons i.e. the start and stop timer buttons and a ProgressBar to display the time.

activity_main.xml

The MainActivity.java is given below :

In the above code we’ve defined an Anonymous Inner Class called MyCountDownTimer. In this example we’ve set a Timer for 10 seconds that updates after every second. By default the timer displays/updates the time in decreasing order ( as its named CountDown!), Hence to show the progress in increasing order we’ve subtracted the time from the max time.

The timer once stopped restarts from the beginning. Below is our android countdown timer app in action.

android countdowntimer example

This brings an end to countdown timer android tutorial. You can download the final Android CountDownTimer Project from the below link.

Reference: Official Documentation

By admin

Leave a Reply