上一次介紹完了介面,今天就要來說說實作的部分了,從這裡開始我要採取一種“小步快跑”的方式,原本 EditorViewModel 負責處理所有的商業邏輯,現在將原...
經過了兩個多星期後,我們終於開始進入 presentation layer 的部分。Presentation layer 就是做 UI 相關的東西,例如 Act...
沒想到會因為圖片剪裁中斷,以前都偷懶使用uCrop,這次想說練習內建的剪裁,結果有夠麻煩 Android 6如果要圖片剪裁,路徑開頭是file://,所以要用U...
都把權限寫完了,該來做個小整理,這次我們整合Android 6到Android 11,沒有Android 5是因為太老舊,是該淘汰,沒有Android 12則是...
今天大概會聊到的範圍 Android View 前兩天來回進出了公司樓下的 7-11 兩三次,每次都要掃一次實名制的 QR Code。我現在用的 Ap...
今天會為上一篇所寫的兩個 use case 加上 unit test。 GetLinesAndStationsUseCaseImplTest 這個 test 其...
上一天我們提到了 Domain Layer 會包含以下三個組件:CoEditor, ContextMenu, NoteRepository ,今天我們將著重在介...
檢查 gradle 版本 把 gradle build script 改成 KTS 之後,我們可以先確認一下現有的 project gradle 的版本,最好是...
就在我們用 KAPT 開發完這個 RSS library 後幾個月 KSP 就發佈了! KSP 的全名是 Kotlin Symbol Processing ,是...
今天大概會聊到的範圍 compose runtime compose compiler 今天會更深入的研究 Compose 在執行過程中,發生了什麼...
經過這麼多集的 data layer 後,我們來到 domain layer。Domain layer 的用途是用來放 business logic,並向 pr...
接續上一篇的故事,阿明跟小美又經過了幾次的對話與討論,在便利貼專案中整理歸納了下列這幾個關鍵字: CoEditor ViewPort Gesture Stic...
Reader 是我們 Android library 裡面最外層的 API ,要測試它要先考慮它有跟那些元件作互動,以下列出了它有互動的元件: ktRssR...
講到硬體控制,總有一天要面對權限管理,不過Google有個權限的第三方EasyPermissions,今天就簡單講一下怎麼安裝和使用。 安裝 https://g...
今天大概會聊到的範圍 @Composable compose compiler & runtime 爆個雷:今天的文章只會講前半段,還不會...
前言,今天寫一寫就離題了QQ,前面用ktor架websocket,在手機app接起來,複習一下channel的特性,後面離題講了手機怎麼接到localhost...
在繼續實作 domain layer 之前,我們會介紹一個方便日常開發的工具:Flipper。 Android Studio 有個功能是查看 HTTP requ...
Domain Driven Design 是一個最近開始在台灣紅起來的一種設計以及開發方式,他的出現主要是為了解決大型專案中複雜的領域問題,透過與領域專家對話,...
接下來的測試將會需要用到 mocking 的 library ,在 Android 大家比較常用的是 MockK 和 Mockito 。這篇要介紹的是 Mock...
今天大概會聊到的範圍 draggable pointerInput 前兩天在 Feedy 上看文章順便想靈感時,突然發現這個行為: 列表項目可以左右...
各位鐵人\教師節快樂/ 昨天在顯示圖片的部份卡關,原本打算用contentResolver.insert()建立相片uri,然後用contentResolver...
今天我們要做的就是,當使用者一進到我們的App時,就可以看到除了自己上架的其他訊息! 先上圖 1.建立RecyclerView 我們這次做的Recylce...
上一篇示範了 Ktor mock engine 的設定和測試了如果出現 exception 時能否順利地處理。現在就測試 getEta 輸出班次的情景。 Tes...
Re-architect 大家應該都很常說,或是很習慣使用到一個詞 - 重構(Refactoring)。但是大家在說“重構”的時候其實不太像是在做“重構”,比較...
這篇會講解怎麼直接用 jUnit 來測試 parser 和 Android 環境的 parser ,接續上一篇,我們現在已經準備好了 RSS feed 的測試案...
今天大概會聊到的範圍 Animation Modifier.graphicsLayer 上一篇講到 Animation,今天想要拿 Animation...
Android 11開始把getExternalStoragePublicDirectory標記棄用,要求改用MediaStore,一樣從畫面開始 <?x...
上一篇我們寫好了 EtaResponseMapper 的 unit test。但 data layer 還有 EtaResponseMapper 未寫 unit...
要談架構的話當然一定會聊到這現在最夯最流行的 Clean architecture,雖然在前面的文章中已經提過幾次了,但是應該不是所有人都有真正的看過這本書,所...
規劃測試方式 測試是寫 library 很重要的一環,因為我們要確保自己的程式碼有一個基本的品質,測試是絕對不能馬虎的。測試 Parser 要分成兩個部分來看,...