sky’s 雑記

主にAndroidとサーバーサイドの技術について記事を書きます

Coroutine

LiveDataのこれまで

Coroutinesのアップデートが盛んに行われており、昨今のAndroid界隈でLiveDataからFlowへ乗り換える機運が高まっているように感じます。今一度Flowへの乗り換えをスムーズに行うためにもLiveDataが発表された経緯など歴史を振り返りたいと思います。 Archite…

kotlinx-coroutines-testのrunBlockingTestについて

前回に引き続きCoroutinesの単体テストの話です。 kotlinx-coroutines-testのDispatchers.setMainについて - sky’s 雑記 今回はrunBlockingTest[1]について取り扱いたいと思います。 ⚠理解が曖昧な状態で記述している可能性があります、間違いがあれば訂正お…

kotlinx-coroutines-testのDispatchers.setMainについて

Coroutinesの単体テストの話です、マルチスレッドな関数の単体テストを書いていると理解が曖昧なところがまだあるので改めて調べることにします。趣旨としてはCoroutineのテストを書くときに@BeforeでDispatchers.setMainを何故やる必要があるのかと何が行わ…

Coroutine Suspending Functionsを理解したい2

続きの記事です。 Coroutine Suspending Functionsを理解したい1 - sky’s 雑記 振り返り fun main(args: Array<String>) { CoroutineScope(Dispatchers.Main).launch { println("start") greet() println("end") } } suspend fun greet() { println("suspended!!") }</string>…

Coroutine Suspending Functionsを理解したい1

導入 今更ながらCoroutineのsuspendを不思議に感じることが増えてきて、なんとなくステートマシンで動いているらしいとかいう曖昧な理解のまま使っているのも癪なので本腰入れて調べてみることにする。タイトルに1と書いてあるのはちょっとずつでもアウトプ…