Google於2017 I/O發表了Architecture Components library,旨在協助開發者設計出"robust, testable, and maintainable"的app,並在約半年的開放測試後於十一月發佈了1.0 stable版本。系列文章將以學習運用Architecture Components為主,搭配Dagger2和RxJava2逐步建立一個符合官方建議架構的app。
Google於2017 I/O發表了Architecture Components library,旨在協助開發者解決常見的lifecycle問題,並更容易實踐...
在各種程式語言和架構中,關注點分離(Separation of Concerns)一直都是非常重要的原則,而Android原本的架構在這方面就做的不是很好。原架...
昨天我們建好的基本MVVM架構,其中帶有一個lifecycle的問題,當螢幕旋轉時: 旋轉之後New Data就不見了,Why?當旋轉螢幕之類的configur...
試想一種情境:當我們執行下載檔案之類的耗時任務,要在任務完成時發出Toast通知使用者,可以怎麼做? 以目前的程式可以用Data Binding的addOnPr...
今天要建立基本的功能來取代之前純粹demo用途的內容,前面提過我們要建立縮水版的GitHubBrowser,功能為: 使用者輸入關鍵字 用Retrofit連線...
昨天因為建立功能要做的事比較多,有刻意把新的東西都避開,所以其中的RecyclerView Adapter我們只用了一半的Data Binding,今天就把這邊...
昨天將Data Binding做完整之後View就處理得差不多了,之後會朝調整ViewModel和在Model新增資料庫為主。 今天要講的是LiveData和T...
透過API取得資料時我們會需要知道連線是成功或失敗以更新UI,當架構以LiveData來傳遞資料時,要取得連線狀態有兩種簡單的方式: 除了傳遞資料的LiveD...
在新增其他功能之前,我想趁現在app規模還很小的時候先套用相依性注入(Dependency Injection;簡稱DI)來增進程式品質。 我們使用Google...
昨天建好了Dagger2的環境,今天就把目前的程式用DI的方式來改寫,會比建置的過程輕鬆很多。 Inject to Fragment RepoFragment中...