Belajar Android Membuat Countdown Timer

Count Down Timer, pasti pembaca pernah membaca atau mendengarnya. Sering digunakan untuk acara quiz, dimana peserta diharuskan menjawab pertanyaan dalam waktu yang ditentukan. Dalam debat capres kemarin pun kalau kita perhatikan di layar televisi ada waktu penghitung mundur. Sebagai programmer tentu kita penasaran untuk membuatnya khususnya pada Android.

Mari kita mulai pembuatannya.

1. Buat Project dengan nama “CountDownTimer

Pada tahapan Create Activity pilih Empty Activity

2. Edit activity_main.xml lalu ketikan kode berikut

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${packageName}.${activityClass}" >

    <TextView
        android:id="@+id/timer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:paddingRight="10dip"
        android:textSize="50dp" />

    <Button
        android:id="@+id/buttonStart"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:text="Start" />

</RelativeLayout>

3. Edit MainActivity.java lalu ketikan kode berikut

package net.agusharyanto.countdowntimer;

import android.app.Activity;
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;

public class MainActivity extends Activity implements OnClickListener {

	private CountDownTimer countDownTimer;
	private boolean timerHasStarted = false;
	private Button btnStart;
	public TextView text;
	private final long startTime = 30 * 1000;
	private final long interval = 1 * 1000;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btnStart = (Button) this.findViewById(R.id.buttonStart);
		btnStart.setOnClickListener(this);
		text = (TextView) this.findViewById(R.id.timer);
		countDownTimer = new MyCountDownTimer(startTime, interval);
		text.setText(text.getText() + String.valueOf(startTime / 1000));
	}

	@Override
	public void onClick(View v) {
		if (!timerHasStarted) {
			countDownTimer.start();
			timerHasStarted = true;
			btnStart.setText("STOP");
		} else {
			countDownTimer.cancel();
			timerHasStarted = false;
			btnStart.setText("RESTART");
		}
	}

	class MyCountDownTimer extends CountDownTimer {
		public MyCountDownTimer(long startTime, long interval) {
			super(startTime, interval);
		}

		@Override
		public void onFinish() {
			text.setText("Time's up!");
		}

		@Override
		public void onTick(long millisUntilFinished) {
			text.setText("" + millisUntilFinished / 1000);
		}
	}

}

4. Saatnya Run Program

Sentuh tombol Start maka hitung mundur akan dimulai.

Berhubung masih suana lebaran dari agusharyanto.net mengucapkan

Taqabbalallahu minna wa minkum, shiyamana wa shiyamakum. Ja’alanallahu minal aidin wal faizin. Semoga Allah menerima amal-amal kita, Dan semoga Allah menjadikan kita termasuk dari orang-orang yang kembali dari perjuangan Ramadhan sebagai orang yang menang. Selamat Hari Raya Idul Fitri 1 Syawal 1435 H. Mohon Maaf Lahir dan Batin.

Semoga Bermanfaat

Salam Hangat

Agus Haryanto

Referensi : http://androidbite.blogspot.com

4 comments to Belajar Android Membuat Countdown Timer

  • pak mau tanya, kalo disuruh nambahin 1 button lagi. misal button pelanggaran buat menghentikan waktu disaat pertandingan bola dalam kontek saya sebagai wasit. terima kasih

  • nurul sakinah

    bagaimana cara buat timer nya tpi dia mulai sendiri, gak pakai button start? mohon bantuannya ya.

  • ian

    bagaimana kalau membuat countdown timer yang mengacu waktu di server alias server side

  • anthoni

    Gan bisa ngga saat tahu scriptnya saat button ditahan timernya berjalan naik & saat button diangkat timernya berhenti. mohon bantuannya. 🙂 trimakasih

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>