Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách tạo bộ đếm ngược (Countdown Timer) trong Android

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 Cách tạo bộ đếm ngược (Countdown Timer) trong Android 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:

Cách tạo bộ đếm ngược (Countdown Timer) trong Android

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:

Cách tạo bộ đếm ngược (Countdown Timer) trong Android