サイトアイコン ハジカラ

【Kotlin入門】Android StudioのクラスにCoroutines(コルーチン)を記載して実行する その2

こんにちは、K.Kです😀

今回は、前回作ったCoroutinesをちょっとだけ手を加えます。

こんにちは、K.Kです😀以前、Kotlin1.3に追加された機能であるCoroutines(コルーチン)の設定を行いました。今回は、簡単なCoroutinesのコードを書いてみました。コードに関しては、こちらのKotlinの公式サイトを参考にしています。まずは準備のコーディングMainActivity.ktのonCreate関数内に処理を記述します。override fun onCreate(savedInstanceState: Bundle?) {・・・・・・・ここに処理を記述する}一応、画面の方も作っておきましょう。activity_main.xmlにボタンを追加します。KotlinクラスにCoroutinesを追加するonC...
【Kotlin入門】Android Studioのクラスに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に任せることができ処理の幅も広がりそうです。

ここまで読んでくれてありがとう。
では、また次回。

モバイルバージョンを終了