サイトアイコン ハジカラ

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

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

以前、Kotlin1.3に追加された機能であるCoroutines(コルーチン)の設定を行いました。

こんにちは、K.Kです😀Kotlin1.3がリリースされて数ヶ月経ちますが、以前ちょっと触れたように1.3ではCoroutines(コルーチン)が実装されています。今回は、そのCoroutinesをAndroid Studioで使用できるように設定を追加しました。CoroutinesとはCoroutinesとは、特定のスレッドに束縛されない中断可能な計算処理を行うインスタンスです。簡単で軽量な非同期スレッドとして使われるようです。Kotlinでは、バージョン1.3から正式実装されています。Android Studioを起動するKotlinが使用可能なAndroid Studioのプロジェクトを起...
【Kotlin入門】Android StudioでCoroutines(コルーチン)を使う設定をする - ハジカラ

今回は、簡単なCoroutinesのコードを書いてみました。
コードに関しては、こちらのKotlinの公式サイトを参考にしています。

スポンサーリンク

まずは準備のコーディング

MainActivity.ktのonCreate関数内に処理を記述します。

override fun onCreate(savedInstanceState: Bundle?) {
・・・・・・・ここに処理を記述する
}

一応、画面の方も作っておきましょう。
activity_main.xmlにボタンを追加します。

KotlinクラスにCoroutinesを追加する

onCreate内に以下のコードを記載します。

println(“試し打ち”) //①

GlobalScope.launch {
delay(1000L)
println(“World Test!”)//②
}
println(“Hello,”)//③
Thread.sleep(2000L)

GlobalScope.launch{….}は、コルーチンビルダーで新しいコルーチンを起動します。
delay…は処理を遅延させます。ミリ秒単位で表記するので1000Lは1秒を意味します。
Threadはスレッドで、sleepもミリ秒単位で同じく処理を遅延させます。

プロジェクトをエミュレーターで実行すると、ログには以下のように出力されます。

2019-03-21 16:56:33.558 8077-8077/com.example.user.kotlintest I/System.out: 試し打ち
2019-03-21 16:56:33.689 8077-8077/com.example.user.kotlintest I/System.out: Hello,
2019-03-21 16:56:34.755 8077-8125/com.example.user.kotlintest I/System.out: World Test!

コメントの出力順としては、①→③→②となります。
コルーチン内にある②は1秒遅れて処理されているように、スレッドとして独立して実行されているのがわかります。

今回の一言・・・

実際に動かしてみると少しわかった感じになります。
Coroutinesは、Threadと違って軽量で複雑な処理もできるそうなのでもうちょっと試してみると面白そうです。

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

↓次回はこちら

こんにちは、K.Kです😀今回は、前回作ったCoroutinesをちょっとだけ手を加えます。前回はKotlinクラスにCoroutinesを追加しただけのため、起動時に一回だけ実行されるというものでした。画面にボタンを追加しているので、ボタンを押すごとCoroutinesが実行されるようにします。ボタン操作にCoroutinesを追加する実装するCoroutinesは前回と同様です。ちょっとだけ待機時間を変えたりしています。まずは、ボタンの定義を行います。ボタンの名称は「button2」にしているのでそれを記述します。var button:Button = findViewById(R...
【Kotlin入門】Android StudioのクラスにCoroutines(コルーチン)を記載して実行... - ハジカラ
モバイルバージョンを終了