Trước khi đi vào ví dụ, chúng ta nên biết Countdown Timer là gì trong Android. Bộ đếm ngược đơn giản như chúng ta thấy trong đồng hồ và điện thoại. Chúng ta có thể đặt thời gian đếm ngược, sau khi hoàn thành thời gian nó sẽ dừng và về giá trị 0.
Có 4 phương thức để sử dụng Countdown Timer như dưới:
onTick(long millisUntilFinished) – Trong phương thức này chúng ta truyền mili giây đếm ngược, sau khi đếm xong nó sẽ dừng Ticking.
onFinish() – Sau khi kết thúc ticking, nếu muốn gọi bất kỳ phương thức hay callback nào, chúng ta làm trong onFinish().
start() – Dùng để khởi động bộ đếm ngược.
cancel() – Dùng để hủy bộ đếm ngược.
Ví dụ này minh họa cách tích hợp Countdown Timer với TextView.
Bước 1
Tạo một dự án mới trong Android Studio, vào File → New Project và điền đầy đủ thông tin cần thiết để tạo dự án mới.
Bước 2
Thêm mã sau vào res/layout/activity_main.xml.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:id="@+id/layout" android:gravity="center" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/counttime" android:layout_width="match_parent" android:gravity="center" android:textSize="30sp" android:layout_height="wrap_content" /> </LinearLayout>
Trong mã trên, chúng ta khai báo một TextView. Nó sẽ in bộ đếm ngược.
Bước 3
Thêm mã sau vào src/MainActivity.java
package com.example.andy.myapplication; import android.annotation.TargetApi; import android.os.Build; import android.os.Bundle; import android.os.CountDownTimer; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.RatingBar; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { public int counter; @TargetApi(Build.VERSION_CODES.O) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView counttime=findViewById(R.id.counttime); new CountDownTimer(50000,1000) { @Override public void onTick(long millisUntilFinished) { counttime.setText(String.valueOf(counter)); counter++; } @Override public void onFinish() { counttime.setText("Finished"); } }.start(); } }Trong mã trên, chúng ta khai báo 50s và khoảng thời gian là 1s. Nó sẽ in thời gian ms trong TextView như phương thức onTick và sau khi hết khoảng thời gian sẽ in kết quả "Finished".
Bước 4
Không cần thay đổi manifest.xml
Hãy thử chạy ứng dụng. Giả sử bạn đã kết nối thiết bị Android thực tế với máy tính. Để chạy ứng dụng từ Android Studio, mở một file activity của dự án và nhấn biểu tượng Run
từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn và kiểm tra thiết bị sẽ hiển thị màn hình mặc định:

Trong màn hình trên, nó hiển thị các điểm đếm thời gian. Sau khi đếm xong nghĩa là 50 giây, nó sẽ hiển thị kết quả như hình dưới:
