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

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

Android Studio 3.4.2
API 29
AndroidX



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と設定したインターバルです。
 
タイマー関連:

Reference:
CountDownTimer | Android Developers

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加

 

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。


TECH ACADEMY
Androidアプリコース


こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


無料で転職まで
これはアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールでエンジニアになって職を得たいのであれば手っ取り早いかもしれません




シェアする

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

フォローする