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 11

Data layer testing (2)

今天會繼續寫 EtaResponseMapperTest。我們示範的 test case 是正常輸出班次的情景。首先是準備 response: val resp...

2021-09-26 ‧ 由 Eric Li 分享
DAY 12

Data layer testing (3)

上一篇我們寫好了 EtaResponseMapper 的 unit test。但 data layer 還有 EtaResponseMapper 未寫 unit...

2021-09-27 ‧ 由 Eric Li 分享
DAY 13

Data layer testing (4)

上一篇示範了 Ktor mock engine 的設定和測試了如果出現 exception 時能否順利地處理。現在就測試 getEta 輸出班次的情景。 Tes...

2021-09-28 ‧ 由 Eric Li 分享
DAY 14

Flipper

在繼續實作 domain layer 之前,我們會介紹一個方便日常開發的工具:Flipper。 Android Studio 有個功能是查看 HTTP requ...

2021-09-29 ‧ 由 Eric Li 分享
DAY 15

Domain layer implementation

經過這麼多集的 data layer 後,我們來到 domain layer。Domain layer 的用途是用來放 business logic,並向 pr...

2021-09-30 ‧ 由 Eric Li 分享
DAY 16

Domain layer testing

今天會為上一篇所寫的兩個 use case 加上 unit test。 GetLinesAndStationsUseCaseImplTest 這個 test 其...

2021-10-01 ‧ 由 Eric Li 分享
DAY 17

Navigation (1)

經過了兩個多星期後,我們終於開始進入 presentation layer 的部分。Presentation layer 就是做 UI 相關的東西,例如 Act...

2021-10-02 ‧ 由 Eric Li 分享
DAY 18

Navigation (2)

在 Android,navigation graph 是 resource 的一種,我們先建立 eta.xml。 先附上完整的內容,然後再慢慢講解入面的意思。...

2021-10-03 ‧ 由 Eric Li 分享
DAY 19

Station list screen (1)

最近兩篇都是講 navigation component,入面為了示範設定 navigation 我們已經預先準備了兩頁的 Fragment class 和 l...

2021-10-04 ‧ 由 Eric Li 分享
DAY 20

Station list screen (2)

上一篇我們完成了 StationListAdapter,我們現在會繼續車站列表的 UI 部分。 StationListViewModel 首先我們要寫的 cla...

2021-10-05 ‧ 由 Eric Li 分享