November 13th, 2016
Android Weekly Issue #231html
Android Weekly閱讀筆記, Issue #231, 本期內容包括: MVP中的View作成passive響應式的, 返回Observable; Android Studio使用技巧; BottomNavigationView
的使用; App tracking; Kotlin; 用Kotlin實現的Filter Animation效果; Dagger2的Scope
和Subcomponent
使用; Espresso測試中mock dagger注入; Android和Java中的Reference和內存泄露; MVVM + RxJava構架實際使用的經驗分享; 還有TV以及Audio相關的內容等.java
做者他們的app近來重構採用了RxJava和Clean Architecture, 進而想要使用passive view, 而後他們就發現了關於Reactive Views的一系列文章, 尤爲是這一篇: RxUi: Talking to Android View layer in a Reactive way.react
他們的主要工做就是把View也改爲響應式的, 即View返回Observable. 在Presenter初始化的時候和View的Observable綁定, 因此事件發生的時候會trigger到presenter.android
這項工做主要須要依賴於RxBinding, 因爲RxBinding沒有提供長按RecyclerView item的bind, 因此他們本身寫了一個.
Snackbar也是: SnackbarActionOnSubscribe.git
做者採用這種方式重構了他們的代碼, 使得view變成徹底passive的.github
而且其中還有一個retryWhen()
使用的解釋: RxJava's repeatWhen and retryWhen, explained.設計模式
設置Logcat的顏色; 使用Live Templates; 快捷鍵使用; Android Studio的插件; 還有一些資源分享.android-studio
Design support library 25.0.0推出了BottomNavigationView, 本文介紹其使用.安全
這篇文章主要講移動應用數據追蹤和分析的幾個原則:session
爲何要使用Kotlin來作Android開發? 簡潔, 安全, 靈活, 和Java可互相操做.
文中介紹了Null Safety, Smart Casting, Default Arguments, Named Arguments, Functional Programming, Concise Code.
做者他們搞了一個應用FIT, 爲女性IT工做者提供社區和交流平臺, 想要成爲Quora加上Linkedin.
爲了讓用戶選擇分類和過濾器tag進行搜索, 他們開發了一個組件: SearchFilter.
文中討論了這種設計的動畫實現, 庫是用Kotlin寫的.
本文講什麼是Scope, 如何定義Scope, 如何使用Scope和@Subcomponent.
Subcomponent會繼承父類的全部bindings.
做者定義了一個Activity的Scope, 而後定義了一個Subcomponent專門給這個Activity用, 這個Subcomponent只在這個Activity的生命週期裏存活. 代碼例子比較簡潔易懂.
這篇文章介紹瞭如何在寫Espresso測試的時候, 使用一個測試用的Dagger Component.
這篇文章講了Java中的引用類型和Android中的內存泄露.
Java中的引用類型:
做者詳細介紹了每一種引用並用例子說明了使用場景.
做者他們的新聞應用採用MVVM + RxJava架構, 本文總結了他們遇到的問題和學到的兩點:
TV Input Framework(TIF)和Android TV讓第三方應用開發者能夠很容易地建立本身的電視頻道.
Android support library中的MediaSessionCompat
使用, 以及如何用它來作一個背景音樂.
FirebaseUI for Android — UI Bindings for Firebase.
一個自定義的RecyclerView的layout manager, 流式地顯示不少小塊的TextView.