こんにちは、K.Kです😀
今回は、前回作ったCoroutinesをちょっとだけ手を加えます。
前回はKotlinクラスにCoroutinesを追加しただけのため、起動時に一回だけ実行されるというものでした。
画面にボタンを追加しているので、ボタンを押すごとCoroutinesが実行されるようにします。
ボタン操作にCoroutinesを追加する
実装するCoroutinesは前回と同様です。
ちょっとだけ待機時間を変えたりしています。
まずは、ボタンの定義を行います。
ボタンの名称は「button2」にしているのでそれを記述します。
var button:Button = findViewById(R.id.button2)
その下にボタンを押された際の処理を書きますが、その中にCoroutines処理を記載します。
button.setOnClickListener(){
GlobalScope.launch {
delay(10000L) //10秒待つ
println(“2019年!”)
}
println(“今年は,”)
Thread.sleep(5000L)
}
でCoroutinesが実行されています。
Coroutinesは読み込まれてから中で10秒待ちます。
これでプロジェクトを実行し、AVD(エミュレーター)を起動します。
中央の「BUTTON」をクリックします。
実行するとログは以下のように表示されます。
ボタン押下後にCoroutinesが実行されてから10秒後にログが出力されています。
2019-03-21 16:59:40.570 8250-8250/com.example.user.kotlintest I/System.out: 今年は,
・・・・・・・
2019-03-21 16:59:50.541 8250-8300/com.example.user.kotlintest I/System.out: 2019年!
今回の一言・・・
ボタン押下でCoroutines起動ができるということは、別の処理をCoroutinesに任せることができ処理の幅も広がりそうです。
ここまで読んでくれてありがとう。
では、また次回。
コメント