Countdown timer adalah timer yang menghitung mundur dan running hanya sekali ketika dipanggil. Timer jenis ini banyak digunakan untuk memberikan waktu kepada user untuk memutuskan sesuatu sebelum waktu habis (time up) atau bisa juga dijadikan semacam delay untuk sistem aplikasi.
Untuk membuat countdown timer di Android caranya cukup mudah karena sudah disediakan class tersendiri untuk menanganinya, yakni class CountDownTimer. Class ini memiliki dua parameter yakni nilai awal timer dan interval tiap timer menghitung (tick value) dengan sintaks sebagai berikut :
New CountDownTimer(nilai_awal,interval){
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
}
}.start();
Dari sintaks di atas terlihat bahwa class CountDownTimer memiiliki inherited event yakni onTick dan OnFinish. Event onTick akan terpicu setiap timer mengitung ke bawah dengan jeda sesuai parameter ‘interval’ dan event onFinish akan dieksekusi jika timer sudah selesai menghitung. Untuk lebih jelasnya marilah kita praktekkan class CountDownTimer di atas ke dalam aplikasi Android.
Nama aplikasi : HitungMundur
Objective : mengaplikasikan class CountDownTimer dan menampilkan nilai Timer ke dalam TextView.
Langkah-langkah development :
1. Jalankan IDE Eclipse dalam tool development Android (ADT=Android Development Tools). Buka project baru dan beri nama ‘HitungMundur’. Tekan terus tombol ‘Next’ sampai muncul tombol Finish dalam jendela wizard.
2. Buka file activity_main.xml di folder /res/layout di jendela Package Explorer dan masuk ke mode GUI (tab Graphical Layout). Drag komponen ‘textView’ dan ‘Button’ di Pallete ‘Form Widgets’.
3. Masuk ke mode teks untuk mengedit file activity_main.xml dengan mengklik tab ‘activity_main.xml’, dan tambahkan kode berikut untuk men-define event onClick pada komponen ‘Button’.
android:onClick="startclick"
4. Buka file MainActivity.java di folder /src di jendela Package Explorer, dan tambahkan event handler onClick sebagai berikut
public void startclick (View v) {
new CountDownTimer(5000,1000){
@Override
public void onFinish() {
TextView teks=(TextView) findViewById (R.id.textView1);
teks.setText("Hitung mundur selesai");
}
@Override
public void onTick(long millisUntilFinished) {
TextView teks=(TextView) findViewById (R.id.textView1);
teks.setText("Seconds Left: "+millisUntilFinished/1000);
}
}.start();
}
Method ‘startclick’ adalah event onClick milik komponen ‘Button’. Dengan menambahkan baris [2] s.d [16] berarti tiap tombol Button diklik maka efeknya adalah tulisan pada textView akan berubah sesuai script baris [7] dan [13].
5. Jalankan program di atas dengan menekan tombol ‘Run’ pada IDE Eclipse atau dengan menekan tombol CTRL+F11. Hasilnya tampak seperti pada gambar di bawah:
Saat tombol button ditekan (onClick Button – lanjut ke onTick timer)
Saat timer berhenti menghitung (onFinish timer)
Demikian pembelajaran materi pemrograman Java untuk Android kali ini, semoga bermanfaat untuk Anda. Untuk materi pembelajaran sebelumnya dapat Anda baca di artikel “Mengambil Data Tanggal dan Waktu di Android menggunakan Java“. Ohya, program di atas selengkapnya dapat Anda unduh dan manfaatkan dengan bebas di sini.
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Penjelasan yg cerdas 🙂
Mas diatas di set 5 detik
Klo pgn sesuka kita gmn?
di bagian class CountDownTimer ada 2 parameter mas, kalo mau mengubah nilai awal timer bisa mengubah parameter yang pertama
contoh : new CountDownTimer (5000,1000) { bla blabla
}
nah, angka 5000 itu menandakan 5000 ms alias 5 detik, mas bisa ganti berapa saja sesuai kebutuhan