重新整理幾次失敗後,我轉念一想,應該會有備援方案才對。 讓學妹確認幾個可能之處後,果然在書籤列表裡找到了另一個程式碼網站Codeforces。 「學姊,這個介...
不知不覺過了三十天,在這三十天中,我們學習了 Coroutine 的每一個面向,我們知道 Coroutine 是用來解決非同步程式執行的問題,它讓我們在面對非同...
Coroutine 中如果要執行非同步程式,則需要把耗時任務寫在 suspend 函式中,並且在一個 CoroutineScope 中來執行,而建立 Corou...
不知不覺來到了第28天,最後我們來做個複習吧。 Coroutine 的目的 用來解決非同步程式執行的問題,在以前面對非同步的程式時,我們可能需要建立一個新的執行...
Coroutine 是非同步程式的解決方案,我們將耗時的任務置放在 suspend 函式中,在正常的使用 coroutine 情況之下,這些 suspend 函...
Flow 是依序執行的,如果使用 collect 作為終端運算子,那麼在最後就會按照每一個元素所要花費的時間一一的執行,並把結果吐出來。 如下面的範例: cla...
LiveData 是 Android 中一個很有用的項目,它是一種可觀察(Observe)的資料存儲器類(data holder)。它會感知 Android 的...
前一篇文章中,我們介紹了 State Flow 以及它的使用方式,本篇將繼續討論 State Flow。 我們知道 SharedFlow 有提供一個函式能夠讓一...
State Flow 是從 Shared Flow 繼承而來的,跟 Shared Flow 不同的地方在於它是有初始值的,至少會重播一個值給訂閱者,所以它最少會...
昨天我們使用了 shareIn 將 Flow 轉成 SharedFlow, 我們來研究一下這個函式。 public fun <T> Flow<...
Flow 是 cold stream,只有在呼叫 Terminal operator 的時候才會執行。也就是說每一個 Flow 都只有一次性的工作,只要呼叫一次...
Flow 是屬於 coroutine 範圍項目,coroutine 中一個重要的特點可以輕易的切換執行緒,在 Flow 也有這項功能嗎? 我們知道要在 Coro...
Flow 經過 Intermediate operators 將資料經過處理之後,最後一步則是要把資料輸出,而將資料輸出則是要透過 Terminal opera...
我們在上一篇的文章中,介紹了 Flow 的基本概念,包括如何建立一個 Flow,以及 Flow 是一個 Cold stream,所謂的 cold stream...
What is Flow? Flow 是用來處理非同步的資料流的一種方式,它會按照發射 (emit) 的順序來執行。 An asynchronous data...
在上一篇文章我們建立 Channel 時,使用 Channel<E>() 來建立一個 Channel。這個方法是由 Coroutine 所提供的一個...
在前面的文章中,我們介紹了 coroutine 的基本原理,如何使用 launch 、 async 建立 CoroutineScope,如何選擇適當的調度器,讓...
這是我們內建的 suspend 函式第三篇,讓我們看看有哪些吧: joinAll() 還記得 join() 的功能是什麼嗎?join() 可以讓目前的 cor...
withContext suspend fun<T> withContext(context: CoroutineContext,...
Coroutine 的三大要素不知道大家還記得嗎?CoroutineScope、Suspend function、Dispatchers。 CoroutineS...
Coroutine 一個重要的特性就是可以輕易的切換執行緒,不過 Coroutine 是使用 CoroutineDispatcher (調度器) 來切換執行緒,...
程式在執行的時候,有些時候我們會遇到一些例外的情況,我們一般會使用 try-catch 來攔截程式執行所拋出的例外,用 try-catch 攔截到之後,我們就可...
還記得launch 的回傳值是 Job 嗎?我們可以使用 job 的 cancel() 來取消該 Coroutine。不知道你有沒有想過 Job 是什麼東西呢?...
還記得我們第一個 Coroutine 程式嗎? suspend fun showContents() = coroutineScope { launch...
在前一篇文章我們知道 suspend 函式必須要在 Coroutine scope 裏面才能執行,本篇文章我們來了解一下兩個 Coroutine Builder...
好的好的,經過了前幾篇文章之後,想必大家應該對 Coroutine 有一些了解了吧,我在這邊快速複習一下。 Coroutine 是用來解決非同步程式的執行問題,...
這幾天我們把 Coroutine 神秘的面紗好像掀開了一點,知道他是用來解決非同步程式的問題,也我們知道四個 Coroutine 的特點。Coroutine 的...
在前一篇文章中,我們完成了一個 Coroutine 的程式,並且在最後我們發現了兩個特點: 用 Coroutine 完成的程式碼可以讓非同步程式碼以同步的程式...
在上一篇文章中,我們知道如果我們要以非同步的方式來執行,可以使用 Thread + callback 來寫,不過使用 Callback 可能會發生兩個問題,一是...
Hi 各位好,又到了我們一年一度的 iT邦鐵人賽的挑戰,這次我所挑戰的主題是 Kotlin 中用來處理非同步的 lib Coroutine,中文名稱「協程」,是...