終於來到為 ViewModel 寫 unit test 的部分,亦都意味着這個系列快要完結。之前我們寫過其他 layer 的 unit test,用過 Mock...
前幾天介紹的 MVVM 架構,可以參考這篇 [[Android APP] 01-架構介紹-MVVM]。今天要講的是其中 Repository 的部分,Repos...
現在來到整個 app 最後一個功能:錯誤 banner。這個 banner 出現的目的是因為鐵路隧道沿綫的電話上網訊號都接收得不太好(因為太多人同時在用),很容...
用鍵盤輸入訊息,對年輕人或許稀鬆平常,但對長者而言,使用語音的方式或許更輕鬆。所以除了畫面字體放大外,我們也使用語音識別與輸出技術,提供長者更友善的工具。 上次...
今天大概會聊到的範圍 ComposeView 之前有介紹過 Compose 中的 AndroidView ,是一個可以在 Compose 中放入一般...
昨天講完架構面,今天不那麼技術,來講界面設計。 畫面設計上由於介面是設計給長者使用,因此字型較大。 首頁,使用者可以先選擇要問哪類問題。點選後進入對話頁面。...
SavedStateHandle 不知道大家有沒有發現在「ETA Screen (1)」貼出來的 EtaViewModel 的 constructor 有一個...
第 23 天,這幾天庫存真的用完了,所以文章都是最新鮮,當天寫的喔!! 剩下 7 天,一起加油吧! 終於來到了最後一個系列「Android APP 系列」,也就...
今天大概會聊到的範圍 Snapshot system 上一篇有提到,State 改變時會觸發 recomposition。視這個行為是一種定義。但是為...
今天大概會聊到的範圍 recompose 在整個系列文章中,有提過不只一次的 recomposition。在 Day 15、16 時有特別提過抽象概念...
由於我們在上一篇已經完成了成功載入班次的部分,接下來要做的當然是不正常的情況。雖然港鐵間中會有事故,但都可遇不可求。要檢查我們做的東西是不是正確除了寫自動化測試...
今天大概會聊到的範圍 CompositionLocal CompositionLocalProvider 在上一篇研究 MaterialTheme...
今天大概會聊到的範圍 Theme 透過 Android Studio 內建的精靈建立一個新的 Compose 專案或是建立新的 "Empty...
現在來到整個 app 最重要的頁面:抵站時間頁。這個頁面基本上都是跟上一頁一樣,都是以 RecyclerView 為主。但因為這次的內容要從 API serve...
今天大概會聊到的範圍 viewModel in Compose 今天的主題很單純:如果專案中有使用到 Compose 又有用到 Android Arc...
上一篇我們完成了 StationListAdapter,我們現在會繼續車站列表的 UI 部分。 StationListViewModel 首先我們要寫的 cla...
這個系列開始我們先介紹了 RSS feed 裡面的內容和不同平台的格式,也了解到要一次處理這麼多又有可能重複的資訊是一件不簡單的事情。接著,我們開始練習用一些既...
終於到了最後一天了,不知道把這三十天看完的人有多少呢?希望看到最後一天的人,有感受到我對於這系列文章中想傳達出去的理念,感受到架構設計的取捨是什麼,不是只有選擇...
Android 10以上就很簡單,直接使用MediaStore抓到圖片路徑,然後送給圖片剪裁就好 if (Build.VERSION.SDK_INT >=...
今天大概會聊到的範圍 rememberUpdateState 上一篇聊到,SideEffect 周邊還有一堆和 state & effect 相...
最近兩篇都是講 navigation component,入面為了示範設定 navigation 我們已經預先準備了兩頁的 Fragment class 和 l...
上一次我們完成了 ContextMenu 的部分,ContextMenu 也有了屬於自己的 ViewModel,架構圖如下: 今天我們將要完成 Re-arch...
發佈 library 的方法真的滿多的,像是 bintray、jcenter 等等的,但中途可能要設定不少東西,打包、上傳、設定路徑之類,那有沒有更簡單的方法?...
圖片剪裁到了Android 7之後,改成使用FileProvider建立的uri,就是要把路徑給FileProvider.getUriForFile()轉換一下...
今天大概會聊到的範圍 SideEffect DisposableEffect 今天要講的東西是 Side-Effect,很多場景下都有更好的 sol...
在 Android,navigation graph 是 resource 的一種,我們先建立 eta.xml。 先附上完整的內容,然後再慢慢講解入面的意思。...
以下是到目前為止的架構圖,已經成功的將 ViewModel 層的全部商業邏輯移到了 Domain 層: 接下來,將在右邊的 ContextMenu 也開一條從...
這系列的文章不會講完全部 KSP 的實作,畢竟我也還正在實作中,不過實作的方向應該是跟前幾篇講的差不多,只是換一個 annotation processor 的...
今天大概會聊到的範圍 rememberLauncherForActivityResult 上一篇我學到可以透過 AndroidView 中將 Came...
0. 前言 距離真正完成表情辨識的App,只差把辨識圖像的功能實作出來,在這裡我們必須將Day21存好的TFLite模型拿出來,製作出含有metadata的TF...