Android Weekly Notes Issue #231
Android Weekly Issue #231
November 13th, 2016
Android Weekly Issue #231
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相关的内容等.
ARTICLES & TUTORIALS
Reactive Views: retrying errors
作者他们的app近来重构采用了RxJava和Clean Architecture, 进而想要使用passive view, 然后他们就发现了关于Reactive Views的一系列文章, 尤其是这一篇: RxUi: Talking to Android View layer in a Reactive way.
他们的主要工作就是把View也改成响应式的, 即View返回Observable. 在Presenter初始化的时候和View的Observable绑定, 所以事件发生的时候会trigger到presenter.
这项工作主要需要依赖于RxBinding, 由于RxBinding没有提供长按RecyclerView item的bind, 所以他们自己写了一个.
Snackbar也是: SnackbarActionOnSubscribe.
作者采用这种方式重构了他们的代码, 使得view变成完全passive的.
并且其中还有一个retryWhen()
使用的解释: RxJava's repeatWhen and retryWhen, explained.
50 Android Studio Tips, Tricks & Resources
设置Logcat的颜色; 使用Live Templates; 快捷键使用; Android Studio的插件; 还有一些资源分享.
BottomNavigationView
Design support library 25.0.0推出了BottomNavigationView, 本文介绍其使用.
The key concepts of app tracking for developers
这篇文章主要讲移动应用数据追踪和分析的几个原则:
- 为什么你需要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架构, 本文总结了他们遇到的问题和学到的两点:
- 暴露状态, 而不是事件;
- 所有的事情都应该通过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.
Android Weekly Notes Issue #231的更多相关文章
- Android Weekly Notes Issue #230
Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...
- Android Weekly Notes Issue #227
Android Weekly Issue #227 October 16th, 2016 Android Weekly Issue #227. 本期内容包括: Google的Mobile Vision ...
- Android Weekly Notes Issue #237
Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...
- Android Weekly Notes Issue #229
Android Weekly Issue #229 October 30th, 2016 Android Weekly Issue #229 Android Weekly笔记, 本期内容包括: 性能库 ...
- Android Weekly Notes Issue #221
Android Weekly Issue #221 September 4th, 2016 Android Weekly Issue #221 ARTICLES & TUTORIALS And ...
- Android Weekly Notes Issue #219
Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...
- Android Weekly Notes Issue #236
Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...
- Android Weekly Notes Issue #235
Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...
- Android Weekly Notes Issue #234
Android Weekly Issue #234 December 4th, 2016 Android Weekly Issue #234 本期内容包括: ConstraintLayout的使用; ...
随机推荐
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- MVVM模式解析和在WPF中的实现(三)命令绑定
MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(68)-微信公众平台开发- 资源环境准备
系列目录 前言: 本次将学习扩展企业微信公众号功能,微信公众号也是企业流量及品牌推广的主要途径,所谓工欲善其事必先利其器,调试微信必须把程序发布外网环境,导致调试速度太慢,太麻烦! 我们需要准备妥当才 ...
- DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)
上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDbContext 的实践(2)> 这篇文章主要是对 DDD.Sample 框架增加 Transa ...
- [原]一个针对LVS的压力测试报告
LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...
- 简述我的SOA服务治理
SOA服务治理 1.解决业务部门服务冲突和纠纷2.版本定义与版本管理3.服务备案与服务管理4.业务监督与服务监控 SOA的战略目的 一.业务价值胜过技术策略 二.战略目标胜过具体项目的效益 三.内置的 ...
- Linux网络属性配置
目录 IP地址分类 如何将Linux主机接入到网络中 网络接口的命名方式 ifcfg系列命令 如何配置主机名 如何配置DNS服务器指向 iproute2系列命令 Linux管理网络服务 永久生效配置路 ...
- Dancing Links and Exact Cover
1. Exact Cover Problem DLX是用来解决精确覆盖问题行之有效的算法. 在讲解DLX之前,我们先了解一下什么是精确覆盖问题(Exact Cover Problem)? 1.1 Po ...
- C#编写windows服务,多服务为什么只启动一个(ServiceBase.Run)
https://zhidao.baidu.com/question/380395667.html //多服务一个宿主程序时必须注间以下要点: Service1的ServiceName 必须 Insta ...
- 魅力 .NET:从 Mono、.NET Core 说起
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...