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.