由于要做暂停和恢复,这里我就没有使用Android的CountDownTimer,而是用了Java的Timer。所以,这个方法在java肯定是通用。我也外加了Android独有的Service,有些计时器需要在Activiy关闭的情况下依然在计时,回到Activity时,显示当前的计时状态。
Timer 这个Java的类,具体看Java的API说明,但是要注意一点:
Timer 在cancel后,需要重新new 一次。
首先要给计时器定义三个状态:准备,开始,暂停。
public static final int PREPARE = 0;
public static final int START = 1;
public static final int PASUSE = 2;
1.准备:没有开始计时,最初始状态;
2.开始:已经开始倒计时
3.暂停:已经开始倒计时,而且用户点击了暂停
开始、恢复倒计时,我定义了这个方法:
/**
* start count down
*/
private void startTimer(){
timer = new Timer();
timerTask = new MyTimerTask();
timer.scheduleAtFixedRate(timerTask, 0, timer_unit);
}