[Android] カウントダウンするタイマーをCountDownTimerで作成する

カウントダウンするタイマーアプリを作りたいときは、CountDownTimerクラスを使うと簡単に作成できます。
 

Android Studio 2.3.3
Android 7.1.1

 


CountDownTimer

 
CountDownTimer を継承したクラスを作り
インスタンスにカウントダウンを始める時間とインターバルを設定します

  • long millisInFuture:カウントダウン開始時間
  • long countDownInterval:インターバル時間

onTick(long millisUntilFinished) が設定したインターバル時間で呼ばれる
millisUntilFinished で残りの時間が分かる

まとめると

MainActivity.java

 
レイアウトです
activity_main.xml

 

 
時間の表示で桁数が減っても0を入れるためにフォーマットを使いました
String.format(“%1$02d:%2$02d.%3$03d”, mm, ss, ms)
 
インターバルは100msecですがあまり短くしても表示が追いつかないのと
バッテリー消費が激しくなりますので注意です。実機次第です
 
またこの設定では1msec単位まで表示されているかもしれませんが精度はあまり期待できません、あくまで100msecでのインターバルですし、遅れを補正していないと思われます。
 
タイマー関連:

Chronometer
TimerTask
currentTimeMillis
CountDownTimer

Ref:
CountDownTimer