カウントダウンタイマーを作る
- AppTheme
- ベクタ形式の画像
- FloatingActionButton
- CountDownTimer
- SoundPool
- 非推奨API処理
Constructor
public CountDownTimer (long millisInFuture, long countDownInterval)
millisInFuturelong型:start()がコールされてからカウントダウン終了でonFinished()が呼び出されるまでの時間をミリ秒で指定する。countDownIntervallong型:onTick(long)でコールバックを受け取る時間間隔を指定する。
Methods
| 返り値 | メソッド | 説明 |
|---|---|---|
| final void | cancel() |
カウントダウンをかキャンセルする。 |
| abstract void | onFinish() |
カウントダウンが終了したらコールされる。 |
| abstract void | onTick(millisUntilFinished: Long) |
一定時間が経過するとコールされる。 |
| final CountDownTimer | onStart() |
カウントダウンを開始する。 |
- カウントダウン終了時刻にずれはないが、カウントダウンの
onTick(millisUntilFinished: Long)がコールバックされるタイミングに誤差がある。 - 端末がディープスリープするとカウントが止まる。
- 実行中のOSバージョン番号は
Build.VERSION.SDK_INTで取得できる。 - 今までリリースされたすべてのAndroid OSのバージョン番号は
Build.VERSION_CODESで定義されている。
SoundPoolのコンストラクタは, API21以降では非推奨となるため, SoundPool.Builderでインスタンスを生成して各種属性を設定する対応が必要となる。
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
@Suppress("DEPRECATION")
soundPool = SoundPool(2, AudioManager.STREAM_ALARM, 0)
} else {
val audioAttributes
= AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.build()
soundPool = SoundPool.Builder()
.setAudioAttributes(audioAttributes)
.build()
}
※ @Suppress("DEPRECATION")というアノテーションは、「非推奨のメソッドを使っているが、対応済みなので検査不要だよ〜」ってことを明示的に示すもの。
| 定数名 | OSバージョン | バージョン番号 |
|---|---|---|
| KITKAT | Android 4.4 | 19 |
| LOLLIPOP | Android 5.0 | 21 |
| LOLLIPOP_MR1 | Android 5.1 | 22 |
| M | Android 6.0 | 23 |
| N | Android 7.0 | 24 |
| N_MR1 | Android 7.1 | 25 |
| O | Android 8.0 | 26 |
| O_MR1 | Android 8.1 | 27 |
| P | Android 9.0 | 28 |
| Q | Android 10.0 | 29 |