iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Mobile Development

寫一個列車抵站時間 Android App 系列

用現在流行的東西(Kotlin Coroutines、Flow、Architecture Components、Navigation Components、Dagger Hilt、Ktor、Kotlin serialization)寫一個港鐵列車抵站時間 Android app。如果時間允許的話,會再加上 Compose 的內容。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

ETA Screen (1)

現在來到整個 app 最重要的頁面:抵站時間頁。這個頁面基本上都是跟上一頁一樣,都是以 RecyclerView 為主。但因為這次的內容要從 API serve...

2021-10-06 ‧ 由 Eric Li 分享
DAY 22

Whistle proxy

由於我們在上一篇已經完成了成功載入班次的部分,接下來要做的當然是不正常的情況。雖然港鐵間中會有事故,但都可遇不可求。要檢查我們做的東西是不是正確除了寫自動化測試...

2021-10-07 ‧ 由 Eric Li 分享
DAY 23

ETA Screen (2)

SavedStateHandle 不知道大家有沒有發現在「ETA Screen (1)」貼出來的 EtaViewModel 的 constructor 有一個...

2021-10-08 ‧ 由 Eric Li 分享
DAY 24

ETA Screen (3)

我們這次會為班次頁加上自動更新和順帶為下一篇實作錯誤 banner 做準備。 我們這頁除非顯示不能連接到互聯網這類錯誤外,都不會出現重新載入按鈕,這是因為這頁就...

2021-10-09 ‧ 由 Eric Li 分享
DAY 25

ETA screen (4)

現在來到整個 app 最後一個功能:錯誤 banner。這個 banner 出現的目的是因為鐵路隧道沿綫的電話上網訊號都接收得不太好(因為太多人同時在用),很容...

2021-10-10 ‧ 由 Eric Li 分享
DAY 26

Station list screen testing

終於來到為 ViewModel 寫 unit test 的部分,亦都意味着這個系列快要完結。之前我們寫過其他 layer 的 unit test,用過 Mock...

2021-10-11 ‧ 由 Eric Li 分享
DAY 27

ETA screen testing (1)

上一篇我們完成了車站列表頁的 ViewModel 和 Presenter 的 unit test。現在轉過去寫班次頁的 unit test。 EtaPresen...

2021-10-12 ‧ 由 Eric Li 分享
DAY 28

ETA screen testing (2)

上一篇我們寫了一些 EtaViewModel 的測試,這一篇會集中寫跟時間相關的測試。 之前在 EtaViewModel 我們定義了更新一次的間距常數 AUTO...

2021-10-13 ‧ 由 Eric Li 分享
DAY 29

Leftover topics

我們終於來到第廿九篇,我們這次討論的題目都是之前討論過的東西的延伸。因為篇幅和時間有限就只好把它們合併成一篇。 Two-way data binding 我們在...

2021-10-14 ‧ 由 Eric Li 分享
DAY 30

Wrapping up

終於來到最後一篇了!不經不覺已經寫了三十篇文章。我們由 Ktor client 接駁 API 一直講到 UI,然後再做 ViewModel 的 unit tes...

2021-10-15 ‧ 由 Eric Li 分享