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.

相关文章
相关标签/搜索