Google於2017 I/O發表了Architecture Components library,旨在協助開發者設計出"robust, testable, and maintainable"的app,並在約半年的開放測試後於十一月發佈了1.0 stable版本。系列文章將以學習運用Architecture Components為主,搭配Dagger2和RxJava2逐步建立一個符合官方建議架構的app。
在GithubBrowserSample中對於Dagger有一些進階的用法,包括自動inject到Activity/Fragment中,以及使用Module封裝...
今天是Dagger的最後一篇,會處理ViewModel的部分。 由於ViewModle需透過ViewModelProviders來實例化而不是直接呼叫const...
今天要介紹Architecture Components中的資料庫library Room,它能讓我們大量減少使用SQLiteDatabase要寫的語法量,並且...
今天我們要依照Architecutre Guide Addendum整合遠端API和本地資料庫Room這兩個資料來源。當按下搜尋時先顯示本地資料,接著發出API...
Room提供三種方式做資料關聯: ForeignKey:update和delete時連動修改資料。 Relation:方便查詢。 TypeConvert...
一直覺得更新資料庫schema是很讓人緊張的事,如果出錯的話App的某些功能就會壞掉,甚至是App一打開就壞了。隨著更新次數增加,還要持續留意從某個舊版本升上來...
今天是Room的最後一篇,也是Test篇章的開始,要講的是Room的單元測試,包括DAO和Migration兩個部分。 個人覺得Room的測試機制很方便,在測試...
今天開始會講個幾天的Test,回顧一下App架構圖: Guide to App Architecture 接下來會把各區塊的Test...
之前在Day9提過使用Dependency Injection的好處之一是更容易測試,現在就是體現的時候了。 Mocking Framework 執行單元測試時...
今天測試ViewModel會比較輕鬆,一來ViewModel本身邏輯比較簡單,只跟repository互動所以要mock的物件少,二來苦痛都在前兩天經歷了,把學...