Android Weekly Notes Issue #231

Android Weekly Issue #231

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的ScopeSubcomponent使用; Espresso測試中mock dagger注入; Android和Java中的Reference和內存泄露; MVVM + RxJava構架實際使用的經驗分享; 還有TV以及Audio相關的內容等.java

ARTICLES & TUTORIALS

Reactive Views: retrying errors

做者他們的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.設計模式

50 Android Studio Tips, Tricks & Resources

設置Logcat的顏色; 使用Live Templates; 快捷鍵使用; Android Studio的插件; 還有一些資源分享.android-studio

BottomNavigationView

Design support library 25.0.0推出了BottomNavigationView, 本文介紹其使用.安全

The key concepts of app tracking for developers

這篇文章主要講移動應用數據追蹤和分析的幾個原則:session

  • 爲何你須要tracking;
  • 何時須要收集數據;
  • 用什麼Analytics tool;
  • 用戶隱私相關;
  • 代碼設計模式以及挑戰;
  • 如何debug和測試輸出;
  • 如何分析數據;

Why You Must Try Kotlin For Android Development?

爲何要使用Kotlin來作Android開發? 簡潔, 安全, 靈活, 和Java可互相操做.

文中介紹了Null Safety, Smart Casting, Default Arguments, Named Arguments, Functional Programming, Concise Code.

Implementing Filter Animation in Kotlin

做者他們搞了一個應用FIT, 爲女性IT工做者提供社區和交流平臺, 想要成爲Quora加上Linkedin.

爲了讓用戶選擇分類和過濾器tag進行搜索, 他們開發了一個組件: SearchFilter.

文中討論了這種設計的動畫實現, 庫是用Kotlin寫的.

DI 101 — Part 3

本文講什麼是Scope, 如何定義Scope, 如何使用Scope和@Subcomponent.

Subcomponent會繼承父類的全部bindings.

做者定義了一個Activity的Scope, 而後定義了一個Subcomponent專門給這個Activity用, 這個Subcomponent只在這個Activity的生命週期裏存活. 代碼例子比較簡潔易懂.

How Dagger 2 Helps In Android Espresso Tests

這篇文章介紹瞭如何在寫Espresso測試的時候, 使用一個測試用的Dagger Component.

Finally understanding how references work in Android and Java

這篇文章講了Java中的引用類型和Android中的內存泄露.

Java中的引用類型:

  • Strong reference
  • WeakReference
  • SoftReference
  • PhantomReference

做者詳細介紹了每一種引用並用例子說明了使用場景.

MVVM + RxJava: Learnings

做者他們的新聞應用採用MVVM + RxJava架構, 本文總結了他們遇到的問題和學到的兩點:

  1. 暴露狀態, 而不是事件;
  2. 全部的事情都應該經過ViewModel.

Adding TV Channels to Your App with the TIF Companion Library

TV Input Framework(TIF)和Android TV讓第三方應用開發者能夠很容易地建立本身的電視頻道.

Background Audio in Android With MediaSessionCompat

Android support library中的MediaSessionCompat使用, 以及如何用它來作一個背景音樂.

LIBRARIES & CODE

FirebaseUI-Android

FirebaseUI for Android — UI Bindings for Firebase.

ChipsLayoutManager

一個自定義的RecyclerView的layout manager, 流式地顯示不少小塊的TextView.

相關文章
相關標籤/搜索