Android 事件分发 – 基础原理和场景分析

和其他平台类似,Android 中 View 的布局是一个树形结构,各个 ViewGroup 和 View 是按树形结构嵌套布局的,从而会出现用户触摸的位置坐标可能会落在多个 View 的范围内,这样就不知道哪个 View 来响应这个事件,为了解决这一问题,就出现了事件分发机制。

继续阅读Android 事件分发 – 基础原理和场景分析

通过反射和annotationProcessor来实现BindView

ButterKnife相信大家都用过,哪怕没用过至少也应该都听说过。虽然官网已经表示deprecated,但是不影响我们对它的学习。记得刚开始使用的时候觉得这东西好神奇呀,减少了太多的代码,后来用熟了之后开始捣鼓起了源码,虽然一知半解,但至少也知道它是通过反射和自动生成代码来达到自动为我们写了很多讨人厌的findViewById和setOnClickListener的目的。

继续阅读通过反射和annotationProcessor来实现BindView

[转]给 Android 开发者的 RxJava 详解

我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJava 到底是什么?

继续阅读[转]给 Android 开发者的 RxJava 详解

基于RePlugin实现Android项目插件化(一)

前一篇文章介绍了Android项目基于ARouter的组件化过程,其实大部分中小型项目只需要组件化就足够了,但是大型项目比如淘宝、微信、美团、钉钉、360手机助手等等,这些项目太大太复杂了,项目开发到后期编译一次要花费很多时间。在这样的背景下,插件化实现方式就诞生了。

继续阅读基于RePlugin实现Android项目插件化(一)