Android可以使用计时器类(Timer)来实现APP的秒表功能。
首先,在Android的布局文件中添加一个TextView来显示计时的结果,例如:
<TextView
android:id="@+id/timerTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00:00"
android:textSize="24sp" />
然后,在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 % 60;
int min = minutes % 60;
int hrs = hours % 24;
// 使用runOnUiThread()方法更新UI
runOnUiThread(new Runnable() {
@Override
public void run() {
timerTextView.setText(String.format("%02d:%02d:%02d", hrs, min, sec));
}
});
}
};
最后,在需要开始计时的地方调用timer.schedule()方法,传入timerTask和计时器开始的延迟时间和间隔时间:
timer.schedule(timerTask, 0, 1000);
这样,每隔1秒钟,计时器的显示就会更新一次,实现秒表功能。
需要注意的是,在Activity生命周期结束时,需要调用timer.cancel()方法停止计时器,避免内存泄漏:
@Override
protected void onDestroy() {
super.onDestroy();
timer.cancel();
}