阅读量:130
Android可以使用计时器类(Timer)来实现APP的秒表功能。
首先,在Android的布局文件中添加一个TextView来显示计时的结果,例如:
然后,在Activity中获取TextView的实例,并创建一个Timer对象:
TextView timerTextView = findViewById(R.id.timerTextView);
Timer timer = new Timer();
接下来,创建一个TimerTask对象,并重写它的run()方法,在run()方法中更新计时器的显示:
TimerTask timerTask = new TimerTask() {
int seconds = 0;
@Override
public void run() {
seconds++;
int minutes = seconds / 60;
int hours = minutes / 60;
int sec = seconds `;
int min = minutes `;
int hrs = hours $;
// 使用runOnUiThread()方法更新UI
runOnUiThread(new Runnable() {
@Override
public void run() {
timerTextView.setText(String.format("d:d:d", hrs, min, sec));
}
});
}
};
最后,在需要开始计时的地方调用timer.schedule()方法,传入timerTask和计时器开始的延迟时间和间隔时间:
timer.schedule(timerTask, 0, 1000);
这样,每隔1秒钟,计时器的显示就会更新一次,实现秒表功能。
需要注意的是,在Activity生命周期结束时,需要调用timer.cancel()方法停止计时器,避免内存泄漏:
@Override
protected void onDestroy() {
super.onDestroy();
timer.cancel();
}