Jetpack Compose Navigation component sub-graph

這次遷移到 Compose 時特別花了時間試用 Compose 的 Navigation component,終於弄清 nested graph 的意義。其實 Compose 的 Navigation component 底層都是跟 XML 版的 Navigation component 一樣,只是底層多了以 route 形式的處理...

July 27, 2022

Jetpack Compose 遷移 (2)

上一篇提過如何將 MetroRide 由傳統 view system 遷移到 Jetpack Compose。但一篇又太長,所以分拆成兩篇。 Dependency injection 按照官方的建議,composable function 要用到的 dependency 應該由...

July 26, 2022

Jetpack Compose 遷移 (1)

近幾個月斷斷續續替 MetroRide 的界面由傳統 view system(即是 layout XML)轉為 Jetpack Compose,順帶補上去年參加 iThome 鐵人賽時用來做示範的重鐵抵站時間功能。...

July 24, 2022

AndroidX Room Relational Query Method

最近為 MetroRide 做新功能,剛好有個地方可以用到 Room 2.4 的新功能:Relational Query Method。這個功能可以把平常 table 之間的 relationship 用 Map 一次過 return 出來,不用像...

January 29, 2022

2021 iThome 鐵人賽 Day 30:Wrapping up

本篇文章是 2021 iThome 鐵人賽參賽題目「寫一個列車抵站時間 Android App」的第 30 篇,你可到 iThome 查看原文。 文章目錄 終於來到最後一篇了!不經不覺已經寫了三十篇文章...

October 15, 2021

2021 iThome 鐵人賽 Day 29:Leftover topics

本篇文章是 2021 iThome 鐵人賽參賽題目「寫一個列車抵站時間 Android App」的第 29 篇,你可到 iThome 查看原文。 文章目錄 我們終於來到第廿九篇,我們這次討論的題目都是之...

October 14, 2021

2021 iThome 鐵人賽 Day 28:ETA screen testing (2)

本篇文章是 2021 iThome 鐵人賽參賽題目「寫一個列車抵站時間 Android App」的第 28 篇,你可到 iThome 查看原文。 文章目錄 上一篇我們寫了一些 EtaViewModel 的測試,這一篇會集中寫跟時...

October 13, 2021

2021 iThome 鐵人賽 Day 27:ETA screen testing (1)

本篇文章是 2021 iThome 鐵人賽參賽題目「寫一個列車抵站時間 Android App」的第 27 篇,你可到 iThome 查看原文。 文章目錄 上一篇我們完成了車站列表頁的 ViewModel 和 Presenter 的 unit test...

October 12, 2021

2021 iThome 鐵人賽 Day 26:Station list screen testing

本篇文章是 2021 iThome 鐵人賽參賽題目「寫一個列車抵站時間 Android App」的第 26 篇,你可到 iThome 查看原文。 文章目錄 終於來到為 ViewModel 寫 unit test 的部分,亦都意味着這個系列快...

October 11, 2021

2021 iThome 鐵人賽 Day 25:ETA screen (4)

本篇文章是 2021 iThome 鐵人賽參賽題目「寫一個列車抵站時間 Android App」的第 25 篇,你可到 iThome 查看原文。 文章目錄 現在來到整個 app 最後一個功能:錯誤 banner。...

October 10, 2021