第十三屆 佳作

software-dev
Coroutine 停看聽
Andy 安迪

系列文章

DAY 21

Day21:Hot Flow - SharedFlow

Flow 是 cold stream,只有在呼叫 Terminal operator 的時候才會執行。也就是說每一個 Flow 都只有一次性的工作,只要呼叫一次...

DAY 22

Day22:Hot Flow - SharedFlow (Part II)

昨天我們使用了 shareIn 將 Flow 轉成 SharedFlow, 我們來研究一下這個函式。 public fun <T> Flow<...

DAY 23

Day23:Hot Flow - StateFlow

State Flow 是從 Shared Flow 繼承而來的,跟 Shared Flow 不同的地方在於它是有初始值的,至少會重播一個值給訂閱者,所以它最少會...

DAY 24

Day24:Hot flow - State Flow (part II)

前一篇文章中,我們介紹了 State Flow 以及它的使用方式,本篇將繼續討論 State Flow。 我們知道 SharedFlow 有提供一個函式能夠讓一...

DAY 25

Day 25:[Android] 將 LiveData 用 Flow 替代吧

LiveData 是 Android 中一個很有用的項目,它是一種可觀察(Observe)的資料存儲器類(data holder)。它會感知 Android 的...

DAY 26

Day26:Flow 的運算子 - buffer()

Flow 是依序執行的,如果使用 collect 作為終端運算子,那麼在最後就會按照每一個元素所要花費的時間一一的執行,並把結果吐出來。 如下面的範例: cla...

DAY 27

Day27:測試 Coroutine

Coroutine 是非同步程式的解決方案,我們將耗時的任務置放在 suspend 函式中,在正常的使用 coroutine 情況之下,這些 suspend 函...

DAY 28

Day28:複習 Coroutine

不知不覺來到了第28天,最後我們來做個複習吧。 Coroutine 的目的 用來解決非同步程式執行的問題,在以前面對非同步的程式時,我們可能需要建立一個新的執行...

DAY 29

Day29:複習 Channel、Flow

Coroutine 中如果要執行非同步程式,則需要把耗時任務寫在 suspend 函式中,並且在一個 CoroutineScope 中來執行,而建立 Corou...

DAY 30

Day30:The end is not the end

不知不覺過了三十天,在這三十天中,我們學習了 Coroutine 的每一個面向,我們知道 Coroutine 是用來解決非同步程式執行的問題,它讓我們在面對非同...