自学内容网 自学内容网

8-2.Android 任务之 CountDownTimer 编码模板(开启计时器、取消计时器)

一、CountDownTimer

1、概述
  1. CountDownTimer 是 Android 中一个用于执行定时操作的类

  2. CountDownTimer 主要应用于在指定时间段内完成某项任务,或者每隔一段时间触发某项任务

2、使用步骤
  1. 创建 CountDownTimer:创建 CountDownTimer 就是创建它的匿名子类,并实现它的两个方法
方法说明
onTick(long millisUntilFinished)该方法会在每个间隔时间段结束时被调用
millisUntilFinished 是倒计时剩余时间(毫秒)
onFinish()该方法会在结束时被调用
millisUntilFinished 到达 0 时
  1. 使用 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)!