安卓25:Android studio 计时器chronometer的使用

Chronometer作为一个计时器。当需要记录用户进行某项操作所消耗的时间的时候,或者在游戏中需要限制时间时候,可以使用它。
在这里插入图片描述
Chronometer类有3个重要的方法:start、stop和setBase,其中start方法表示开始计时;stop表示停止计时;setBase方法表示起始时间。start和stop方法没有任何参数,setBase方法有参数,表示开始计时的基准时间。如果要从当前时刻重新计时,可以将该参数值设为SystemClock.elapsedRealtime()

还可以对Chronometer组件做进一步设置。在默认情况下,Chronometer组件只输出MM:SS的时间格式。例如,当计时到1分20秒时,Chronometer组件会显示01:20。如果变显示的信息内容,可以使用Chronometer类的setFormat方法。该方法需要一个String变量并使用“%s”表示计时信息。例如,使用setFormat(“计时信息:%s”)设置显示信息,Chronometer会显示:计时信息:10:20。

Chronometer组件还可以通过onChronometerTick事件方法来捕捉计时动作。该方法1秒调一次。要想使用onChronometerTick事件方法,必须通过setOnChronometerTickListener方法实现接口:OnChronometerTickListener,在匿名内部类里重写onChronometerTick事件方法。

public class MainActivity extends AppCompatActivity {
    Chronometer cb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//页面全屏显示
        cb=findViewById(R.id.chronometer);
        cb.setBase(SystemClock.elapsedRealtime());
        cb.setFormat("计时器%s");
        cb.start();
        cb.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
            @Override
            public void onChronometerTick(Chronometer chronometer) {
                if(SystemClock.elapsedRealtime()-cb.getBase()>=60000){
                    cb.stop();
                }
            }
        });
    }
}
Android Studio中进行计时可以使用Java中的System.currentTimeMillis()方法或者使用Android提供的Chronometer类。 1. 使用System.currentTimeMillis()方法: 可以在程序中记录运行开始时间和结束时间,然后计算时间差来得到程序的运行时间。以下是一个示例代码片段: ```java // 记录程序开始时间 long startTime = System.currentTimeMillis(); // 程序运行代码 // 记录程序结束时间 long endTime = System.currentTimeMillis(); // 计算程序运行时间 long usedTime = endTime - startTime; // 打印程序运行时间 System.out.println("程序运行时间:" + usedTime + "ms"); ``` 在这个示例中,我们首先使用System.currentTimeMillis()方法记录程序开始时间,然后在程序运行结束时记录程序结束时间。通过计算时间差,我们可以得到程序的运行时间。 2. 使用Chronometer类: Chronometer类是Android提供的一个计时器控件,可以用来对程序的运行时间进行计时。以下是一个示例代码片段: ```java // 获取计时器控件 Chronometer chronometer = findViewById(R.id.chronometer); // 开始计时 chronometer.start(); // 程序运行代码 // 停止计时 chronometer.stop(); // 获取计时器显示的时间 long usedTime = SystemClock.elapsedRealtime() - chronometer.getBase(); // 打印程序运行时间 System.out.println("程序运行时间:" + usedTime + "ms"); ``` 在这个示例中,我们首先获取一个Chronometer对象,然后调用它的start()方法来开始计时。在程序运行结束时,我们调用它的stop()方法来停止计时。通过调用getBase()方法可以获取计时器显示的时间,使用SystemClock.elapsedRealtime()方法获取系统运行时间,两者相减即可得到程序的运行时间。 需要注意的是,Chronometer类只是一个计时器控件,它并不能自动记录程序的开始和结束时间,需要在程序中手动控制计时器的开始和停止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值