8-2.Android 任务之 CountDownTimer 编码模板(开启计时器、取消计时器)
一、CountDownTimer
1、概述
-
CountDownTimer 是 Android 中一个用于执行定时操作的类
-
CountDownTimer 主要应用于在指定时间段内完成某项任务,或者每隔一段时间触发某项任务
2、使用步骤
- 创建 CountDownTimer:创建 CountDownTimer 就是创建它的匿名子类,并实现它的两个方法
方法 | 说明 |
---|---|
onTick(long millisUntilFinished) | 该方法会在每个间隔时间段结束时被调用 millisUntilFinished 是倒计时剩余时间(毫秒) |
onFinish() | 该方法会在结束时被调用 millisUntilFinished 到达 0 时 |
- 使用 CountDownTimer:使用 CountDownTimer 实例对象的方法
方法 | 说明 |
---|---|
start() | 开启计时器 |
cancel() | 取消计时器 |
二、CountDownTimer 基本使用
1、初体验
package com.my.countdowntimer;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.Log;
public class CountDownTimerTestActivity extends AppCompatActivity {
public static final String TAG = CountDownTimerTestActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_count_down_timer_test);
// 倒计时 millisInFuture 毫秒,每 countDownInterval 毫秒调用一次
CountDownTimer countDownTimer = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
Log.i(TAG, "剩余时间:" + millisUntilFinished / 1000 + " 秒");
}
@Override
public void onFinish() {
Log.i(TAG, "倒计时结束");
}
};
countDownTimer.start();
}
}
- 输出结果
I/CountDownTimerTestActivity: 剩余时间:3 秒
I/CountDownTimerTestActivity: 剩余时间:2 秒
I/CountDownTimerTestActivity: 剩余时间:1 秒
I/CountDownTimerTestActivity: 剩余时间:0 秒
I/CountDownTimerTestActivity: 倒计时结束
2、取消计时器
package com.my.countdowntimer;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.Log;
public class CountDownTimerCancelActivity extends AppCompatActivity {
public static final String TAG = CountDownTimerCancelActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_count_down_timer_cancel);
// 倒计时 millisInFuture 毫秒,每 countDownInterval 毫秒调用一次
CountDownTimer countDownTimer = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// 在第 3 秒时取消计时器
long s = millisUntilFinished / 1000;
Log.i(TAG, "剩余时间:" + s + " 秒");
if (s == 3) {
Log.i(TAG, "取消计时器");
cancel();
return;
}
}
@Override
public void onFinish() {
Log.i(TAG, "倒计时结束");
}
};
countDownTimer.start();
}
}
- 输出结果
I/CountDownTimerCancelActivity: 剩余时间:4 秒
I/CountDownTimerCancelActivity: 剩余时间:3 秒
I/CountDownTimerCancelActivity: 取消计时器
原文地址:https://blog.csdn.net/weixin_52173250/article/details/142707537
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!