iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

Coroutine 停看聽 系列

只要有心,人人都可以成為 Coroutine 高手。

Coroutine 是 Kotlin 重點項目之一,因為它的特性,可以讓我們遠離 Callback hell,讓我們寫非同步的程式就像寫同步的程式一樣簡單。

它是一個輕量級的 Threads,使用 Coroutine 你就不需要考慮 Thread 的事情,因為 Coroutine 都幫你做好了。

另外,它同時提供 Flow 可以支援多個非同步的回傳值。

讓我們一起在三十天內好好學習 Coroutine 吧!

鐵人鍊成 | 共 30 篇文章 | 33 人訂閱 訂閱系列文 RSS系列文 團隊Kotlin 愛台灣 2021
DAY 21

Day21:Hot Flow - SharedFlow

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

2021-09-26 ‧ 由 Andy 安迪 分享
DAY 22

Day22:Hot Flow - SharedFlow (Part II)

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

2021-09-27 ‧ 由 Andy 安迪 分享
DAY 23

Day23:Hot Flow - StateFlow

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

2021-09-28 ‧ 由 Andy 安迪 分享
DAY 24

Day24:Hot flow - State Flow (part II)

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

2021-09-29 ‧ 由 Andy 安迪 分享
DAY 25

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

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

2021-09-30 ‧ 由 Andy 安迪 分享
DAY 26

Day26:Flow 的運算子 - buffer()

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

2021-10-01 ‧ 由 Andy 安迪 分享
DAY 27

Day27:測試 Coroutine

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

2021-10-02 ‧ 由 Andy 安迪 分享
DAY 28

Day28:複習 Coroutine

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

2021-10-03 ‧ 由 Andy 安迪 分享
DAY 29

Day29:複習 Channel、Flow

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

2021-10-04 ‧ 由 Andy 安迪 分享
DAY 30

Day30:The end is not the end

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

2021-10-05 ‧ 由 Andy 安迪 分享