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

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

1x1.trans - [Android]  カウントダウンするタイマーをCountDownTimerで作成する

Android Studio
2021.2.1




CountDownTimer

 

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

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

onTick

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

まとめると

MainActivity.java

 
レイアウトです
activity_main.xml

 
リソースです
strings.xml

 

 

時間の表示を [分:秒.ミリ秒] で表現したいときには SimpleDateFormat を使うと便利です。ミリ秒で表されるmillisecがあるとすると、分:秒.ミリ秒(3桁)はこのようにします。

但し、これは時刻を表示するものを便宜的に使ったのでLocaleの設定をしないとWarningが出ます。
年月日も追加してみるとわかりますが、startしてからの時間計測はこの例では、起点である1970/1/1からの時間ということになってしまいます。
あるいは、以下のように計算してフォーマットに入れることもできます。

 
インターバルは10msecですがあまり短くしても表示が追いつかないのと
バッテリー消費が激しくなりますので注意です。実機次第です
 
またこの設定では1msec単位まで表示されているかもしれませんが精度はあまり期待できません、あくまで10msecと設定したインターバルです。
 
タイマー関連:

シェアする

  • このエントリーをはてなブックマークに追加

フォローする