Thursday, January 9, 2014

Countdown example in Android | Custom timer example in Android | Start, Pause, Stop digital watch code in Android | Java code for timer

Hello Friends,

Today I am going to share code for countdown in android.

Screen shot:


MainActivity.java

 package com.manish.timer;  
 import java.util.concurrent.TimeUnit;  
 import android.annotation.SuppressLint;  
 import android.annotation.TargetApi;  
 import android.app.Activity;  
 import android.os.Build;  
 import android.os.Bundle;  
 import android.os.CountDownTimer;  
 import android.view.View;  
 import android.view.View.OnClickListener;  
 import android.widget.Button;  
 import android.widget.TextView;  
 @TargetApi(Build.VERSION_CODES.GINGERBREAD)  
 @SuppressLint("NewApi")  
 public class MainActivity extends Activity {  
      Button btnStart, btnStop;  
      TextView textViewTime;  
      @Override  
        public void onCreate(Bundle savedInstanceState) {  
          super.onCreate(savedInstanceState);  
          setContentView(R.layout.activity_main);  
          btnStart = (Button)findViewById(R.id.btnStart);  
          btnStop = (Button)findViewById(R.id.btnStop);  
          textViewTime = (TextView)findViewById(R.id.textViewTime);  
          textViewTime.setText("00:03:00");   
          final CounterClass timer = new CounterClass(180000,1000);  
          btnStart.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
              timer.start();  
            }  
          });  
          btnStop.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
              timer.cancel();  
            }  
          });  
        }  
      @TargetApi(Build.VERSION_CODES.GINGERBREAD)  
      @SuppressLint("NewApi")  
      public class CounterClass extends CountDownTimer {  
           public CounterClass(long millisInFuture, long countDownInterval) {  
                super(millisInFuture, countDownInterval);  
           }  
           @Override  
          public void onFinish() {  
            textViewTime.setText("Completed.");  
          }  
           @SuppressLint("NewApi")  
           @TargetApi(Build.VERSION_CODES.GINGERBREAD)  
           @Override  
           public void onTick(long millisUntilFinished) {  
                 long millis = millisUntilFinished;  
                  String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),  
                      TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),  
                      TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));  
                  System.out.println(hms);  
                  textViewTime.setText(hms);  
           }  
      }  
 }  

activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>  
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   android:layout_width="fill_parent"  
   android:layout_height="fill_parent"  
   android:orientation="vertical" >  
   <Button  
     android:id="@+id/btnStart"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentLeft="true"  
     android:layout_centerVertical="true"  
     android:layout_marginLeft="28dp"  
     android:text="Start" />  
   <Button  
     android:id="@+id/btnStop"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentRight="true"  
     android:layout_centerVertical="true"  
     android:layout_marginRight="67dp"  
     android:text="Stop" />  
   <TextView  
     android:id="@+id/textViewTime"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_above="@+id/btnStop"  
     android:layout_centerHorizontal="true"  
     android:layout_marginBottom="17dp"  
     android:textSize="25sp" />  
 </RelativeLayout>  

Download zip code

Thank you!

4 comments :

  1. hi manish i have some problem in emulator,it shows equal to(=) in google search engine in android emulator and it increases equal to and it doesn't show any output do you have any solution for this plz help me

    ReplyDelete
    Replies
    1. is it working fine on your mobile device? and please try on another emulator may be some problem with emulator setting.

      Delete
  2. Thank you for the code, but how can I increase the amount of minutes and display only minutes and seconds, like: 04.00?

    ReplyDelete
    Replies
    1. long millis = millisUntilFinished;
      Do google how to format mili second to minute.

      Delete