Belajar Membuat Aplikasi Countdown Timer di Android
Assalamualaikum Warahmatullahi Wabarakatuh.
Countdown Timer adalah sebuah program yang dibuat dan digunakan untuk menghitung waktu mundur, Countdown Timer pada umumnya diterapkan pada aplikasi semacam quiz, atau sebuah game yang dibatasi oleh waktu, dan memberikan kondisi atau event jika waktu sudah berakhir.
Pada tutorial berikut ini, kita akan belajar membuat program sederhana yang menampilkan Countdown Timer dengan waktu yang telah kita tentukan sendiri, serta membuat kondisi pada saat waktu berakhir.
Materi lainnya yang direkomendasikan:
- Cara Membuat Image Gallery Menggunakan GridView
- Belajar Membuat Widget TimePicker di Android Studio
- Belajar Membuat Widget DatePicker di Android Studio
Belajar Membuat Aplikasi Countdown Timer di Android
1) Buka aplikasi Android Studio kalian, Buat Project Baru.
2) Pada activity_main.xml, disini kita akan membuat layout dengan menggunakan beberapa komponen seperti TextView dan Button.
<?xml version="1.0" encoding="utf-8"?>
<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"
android:layout_margin="16dp"
android:gravity="center"
tools:context="android.cianjur.developer.net.basicandroid.MainActivity">
<TextView
android:id="@+id/timer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:gravity="center"
android:text="Waktu 00:03:00"
android:textSize="17sp"
android:textStyle="bold" />
<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/time"
android:layout_alignStart="@+id/time"
android:layout_below="@+id/time"
android:text="Mulai" />
<Button
android:id="@+id/stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/time"
android:text="Berhenti" />
</RelativeLayout>
View:
3) Selanjutnya buka file MainActivity.java kalian, Masukan Source code berikut ini.
package android.cianjur.developer.net.basicandroid;
/*
Dibuat Oleh WILDAN M ATHOILLAH
*/
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private TextView Waktu;
private Button Start, Stop;
private TimerClass timerClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Waktu = findViewById(R.id.timer);
Start = findViewById(R.id.start);
Start.setOnClickListener(this);
Stop = findViewById(R.id.stop);
Stop.setOnClickListener(this);
//Set Waktu selama 3 detik = 60000 * 3 millis dengan interval 1 detik = 1000 millis
timerClass = new TimerClass(60000 * 3, 1000);
}
//Membuat InnerClass untuk konfigurasi Countdown Time
public class TimerClass extends CountDownTimer {
TimerClass(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
//Method ini berjalan saat waktu/timer berubah
@Override
public void onTick(long millisUntilFinished) {
//Kenfigurasi Format Waktu yang digunakan
String waktu = String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) -
TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
//Menampilkannya pada TexView
Waktu.setText("Waktu " +waktu);
}
@Override
public void onFinish() {
///Berjalan saat waktu telah selesai atau berhenti
Toast.makeText(MainActivity.this, "Waktu Telah Berakhir", Toast.LENGTH_LONG).show();
finish();
}
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.start:
//Menjalankan Timer
timerClass.start();
Toast.makeText(MainActivity.this, "Mulai", Toast.LENGTH_LONG).show();
break;
case R.id.stop:
//menghentikan Timer
timerClass.cancel();
Toast.makeText(MainActivity.this, "Berhenti", Toast.LENGTH_LONG).show();
break;
}
}
}
Demo:
Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.
Wassalamualaikum Warahmatullahi Wabarakatuh.