iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Software Development

Android Architecture 系列

Google於2017 I/O發表了Architecture Components library,旨在協助開發者設計出"robust, testable, and maintainable"的app,並在約半年的開放測試後於十一月發佈了1.0 stable版本。系列文章將以學習運用Architecture Components為主,搭配Dagger2和RxJava2逐步建立一個符合官方建議架構的app。

鐵人鍊成 | 共 30 篇文章 | 64 人訂閱 訂閱系列文 RSS系列文
DAY 11

Dependency Injection with Dagger2: Part 3

在GithubBrowserSample中對於Dagger有一些進階的用法,包括自動inject到Activity/Fragment中,以及使用Module封裝...

2017-12-30 ‧ 由 Ivan 分享
DAY 12

Dependency Injection with Dagger2: Part 4

今天是Dagger的最後一篇,會處理ViewModel的部分。 由於ViewModle需透過ViewModelProviders來實例化而不是直接呼叫const...

2017-12-31 ‧ 由 Ivan 分享
DAY 13

Architecture Components - Room

今天要介紹Architecture Components中的資料庫library Room,它能讓我們大量減少使用SQLiteDatabase要寫的語法量,並且...

2018-01-01 ‧ 由 Ivan 分享
DAY 14

套用Repository Pattern完成最後架構

今天我們要依照Architecutre Guide Addendum整合遠端API和本地資料庫Room這兩個資料來源。當按下搜尋時先顯示本地資料,接著發出API...

2018-01-02 ‧ 由 Ivan 分享
DAY 15

Room - Relationships

Room提供三種方式做資料關聯: ForeignKey:update和delete時連動修改資料。 Relation:方便查詢。 TypeConvert...

2018-01-03 ‧ 由 Ivan 分享
DAY 16

Room - Migration

一直覺得更新資料庫schema是很讓人緊張的事,如果出錯的話App的某些功能就會壞掉,甚至是App一打開就壞了。隨著更新次數增加,還要持續留意從某個舊版本升上來...

2018-01-04 ‧ 由 Ivan 分享
DAY 17

Test part 1:Room DAO and migration

今天是Room的最後一篇,也是Test篇章的開始,要講的是Room的單元測試,包括DAO和Migration兩個部分。 個人覺得Room的測試機制很方便,在測試...

2018-01-05 ‧ 由 Ivan 分享
DAY 18

Test part 2:Retrofit api calls and common util

今天開始會講個幾天的Test,回顧一下App架構圖:               Guide to App Architecture 接下來會把各區塊的Test...

2018-01-06 ‧ 由 Ivan 分享
DAY 19

Test part 3:Repository

之前在Day9提過使用Dependency Injection的好處之一是更容易測試,現在就是體現的時候了。 Mocking Framework 執行單元測試時...

2018-01-07 ‧ 由 Ivan 分享
DAY 20

Test part 4:ViewModel

今天測試ViewModel會比較輕鬆,一來ViewModel本身邏輯比較簡單,只跟repository互動所以要mock的物件少,二來苦痛都在前兩天經歷了,把學...

2018-01-08 ‧ 由 Ivan 分享