CountDownTimerを使う
Android studioで、カウントダウンタイマーを使う。
5秒後に終了処理、その間に1秒ごとに周期的な処理をさせたい場合、
CountDownTimer countDownTimer; countDownTimer = new CountDownTimer(5000,1000) { @Override public void onTick(long millisUntilFinished) { //周期的な処理 @Override public void onFinish() { //終了時の処理 } }; countDownTimer.start();
スタートを忘れずに。
計測をやめるときは
countDownTimer.cancel();
- 第一引数に、何ミリ秒後に終了するか、第二引数に、何ミリ秒ごとに周期的な処理をするかを指定します。
- カウントダウンタイマーは途中停止、再開はできません。
- 残り何秒か?もわかりません。
残り何秒か?を取得するには、カウントダウンタイマーを継承して機能を追加するか、
終了予定時刻を変数に保存しておき、onTickのたびに、
終了時刻(ミリ秒) - 現在時刻(ミリ秒)
を計算するなどで実現できます。
その場合、インターバルに1000を指定するとたまにずれて1秒以上表示が変わらなかったりと、ユーザーの信頼性に影響がでてしまうので、
周期を600とか適当に短くしておくといいかも。