iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Mobile Development

Jetpack Compose X Android Architecture X Functional Reactive Programming 系列

這次挑戰的目標主要以實戰為主,在討論架構設計時其實不應該有預設偏好的選項(像是連要做什麼都還不知道就直接用 MVVM + retrofit + room + coroutine)。而是應該針對需求、現實狀況等綜合評估下所做出來的選擇。
我所示範的專案將會是一個共享的便利貼 App ,在這三十天中會說明在這 app 中各種設計選擇的原因,以及提供其他的可能性,希望可以透過這個專案,跟大家一起進行架構設計以及專案需求的腦力激盪。

專案連結: https://github.com/hungyanbin/ReactiveStickyNote

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

整合 Firestore SDK 到便利貼應用程式

首先來看看如何取用 Firebase SDK 的服務: val firestore = FirebaseFirestore.getInstance() 要取用...

2021-09-16 ‧ 由 hungyanbin 分享
DAY 12

RxJava - Backpressure

不知道大家有沒有手沖咖啡的經驗?如果沒有的話,應該也看過或用過濾掛式咖啡,在沖咖啡時,水不能一次倒太多,因為濾網的消化速度沒這麼快,要是你不管它的消化速度一直倒...

2021-09-17 ‧ 由 hungyanbin 分享
DAY 13

Multicasting for RxJava

在進入正題之前先讓大家看看在 Reactive Programming 中的一種使用案例: val studentObservable: Observable&...

2021-09-18 ‧ 由 hungyanbin 分享
DAY 14

完成便利貼程式第一版

補充完了必要的知識後,現在再回頭看一下之前遇到的問題吧! 整合完 Firebase 之後發現了兩個問題: 更新資料到網路上需要花費相對多的時間,如果持續不斷的...

2021-09-19 ‧ 由 hungyanbin 分享
DAY 15

反思與第二部序章

魔鬼藏在細節 在上一篇中的最後我問了一個問題:“為什麼沒有使用 Flowable 而是繼續用 Observable 來解決 Backpressure?”,不知道...

2021-09-20 ‧ 由 hungyanbin 分享
DAY 16

ViewModel 中的 UI 狀態 - 以 Selection state 為例

在一個應用程式中,有著各種不同類型的資料,這些不同的資料也有屬於他們的生命週期,有些資料就像之前介紹的便利貼一樣,是永久存在雲端上的(除非有一天把專案刪了......

2021-09-21 ‧ 由 hungyanbin 分享
DAY 17

ViewModel 的 Single source of truth

以往我們所熟悉的 Single source of truth 都是在針對資料層,概念上基本上這樣的:我們 App 的資料來源通常來說都有兩個,一個是網路,另一...

2021-09-22 ‧ 由 hungyanbin 分享
DAY 18

Jetpack Compose - Stateful and Stateless

相較於傳統的 Android View,Jetpack Compose 在 Android 開發上還有一個新的概念,那就是 Stateful (有狀態的) 還有...

2021-09-23 ‧ 由 hungyanbin 分享
DAY 19

Jetpack Compose navigation + Koin

現在我們有了編輯便利貼頁面還有編輯文字頁面,該是時候好好的來思考要怎麼切換頁面了!流程如下:使用者選擇了某一個便利貼→看到選單出現→點擊編輯文字→跳轉到編輯文字...

2021-09-24 ‧ 由 hungyanbin 分享
DAY 20

專案檔案結構

第二階段也接近到尾聲了,現在便利貼已經有了比較豐富的功能了,可以拖曳便利貼、改變顏色、改變文字、新增以及刪除。那麼檔案的結構又會是什麼樣子呢? 這邊的分類方式是...

2021-09-25 ‧ 由 hungyanbin 分享