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 篇文章 | 35 人訂閱 訂閱系列文 RSS系列文
DAY 1

前言

Google於2017 I/O發表了Architecture Components library,旨在協助開發者解決常見的lifecycle問題,並更容易實踐...

2017-12-20 ‧ 由 Ivan 分享
DAY 2

MVVM架構

在各種程式語言和架構中,關注點分離(Separation of Concerns)一直都是非常重要的原則,而Android原本的架構在這方面就做的不是很好。原架...

2017-12-21 ‧ 由 Ivan 分享
DAY 3

Architecture Components - ViewModel

昨天我們建好的基本MVVM架構,其中帶有一個lifecycle的問題,當螢幕旋轉時: 旋轉之後New Data就不見了,Why?當旋轉螢幕之類的configu...

2017-12-22 ‧ 由 Ivan 分享
DAY 4

Architecture Components - LiveData

試想一種情境:當我們執行下載檔案之類的耗時任務,要在任務完成時發出Toast通知使用者,可以怎麼做? 以目前的程式可以用Data Binding的addOnPr...

2017-12-23 ‧ 由 Ivan 分享
DAY 5

連線至GitHub API取得資料

今天要建立基本的功能來取代之前純粹demo用途的內容,前面提過我們要建立縮水版的GitHubBrowser,功能為: 使用者輸入關鍵字 用Retrofit連線...

2017-12-24 ‧ 由 Ivan 分享
DAY 6

Data Binding with RecyclerView & Custom setter

昨天因為建立功能要做的事比較多,有刻意把新的東西都避開,所以其中的RecyclerView Adapter我們只用了一半的Data Binding,今天就把這邊...

2017-12-25 ‧ 由 Ivan 分享
DAY 7

Transform LiveData

昨天將Data Binding做完整之後View就處理得差不多了,之後會朝調整ViewModel和在Model新增資料庫為主。 今天要講的是LiveData和T...

2017-12-26 ‧ 由 Ivan 分享
DAY 8

LiveData整合API資料與連線狀態

透過API取得資料時我們會需要知道連線是成功或失敗以更新UI,當架構以LiveData來傳遞資料時,要取得連線狀態有兩種簡單的方式: 除了傳遞資料的LiveD...

2017-12-27 ‧ 由 Ivan 分享
DAY 9

Dependency Injection with Dagger2: Part 1

在新增其他功能之前,我想趁現在app規模還很小的時候先套用相依性注入(Dependency Injection;簡稱DI)來增進程式品質。 我們使用Google...

2017-12-28 ‧ 由 Ivan 分享
DAY 10

Dependency Injection with Dagger2: Part 2

昨天建好了Dagger2的環境,今天就把目前的程式用DI的方式來改寫,會比建置的過程輕鬆很多。 Inject to Fragment RepoFragment中...

2017-12-29 ‧ 由 Ivan 分享