KotlinでAndroidの実装実験です。ViewModel使ってCoroutineのテスト
お断り(disclaimer):もちろんこの手順は無保証です。 Androidな本とKotlinな本で勉強してました KotlinでもCoroutineが使えるってので非同期で動かして画面への反映を簡単にできるかなぁ ってので試してみました。 Activityの要素をmain thread以外から書き換えるとruntime errorになっちゃうのでそこはViewModel(LiveData) でObserverパタンを使いました Codeはここです
build.gradleでcoroutineをダンロード
appのbuild.gradleで2行追加
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7'
}
Layoutを定義する
ここを参考にしてください。
TextViewとButtonの簡単な処理です
ソースを書く
ここにコードを置きました。
こいつは5秒まってから現在時刻を取得するObjectです
ViewModelのなかで値が変わったらPropertyに反映させます。
onCreateでViewModelを配置して値のObserveとButtonのClick処理を入れ込みました
これでButton押下後の5秒後の時刻を表示します。