听FackBook工程师讲*Custom ViewGroups*

Android提供了几个ViewGroups如LinearLayout, RelativeLayout, FrameLayout来固定child Views的位置。在这些普通的ViewGroups中有多种使用选择。
例如:LinearLayout几乎支持HTML Flexbox的所有特性(除了包装)。在view之间你可以选择是否显示分割线(dividers),并且基于最大的child测量所有的children。RelativeLayout是一种限制性的解决方案。这些layouts都已经足够好了,但是当你的UI非常复杂的时候它们还能很好的解决么?

Read More

Android 进行单元测试难在哪-part3

在 Android 应用中进行单元测试很困难,有时候甚至是不可能的。在之前的两篇博文中,我已经向大家解释了在 Android 中进行单元测试如此困难的原因。而上一篇博文我们通过分析得到的结论是:正是 Google 官方所提倡的应用架构方式使得在 Android 中进行单元测试变成一场灾难。因为在官方提倡的架构方式中,Google 似乎希望我们将业务逻辑都放在应用的组件类中(例如:Activity,Fragment,Service,等等……)。而这种开发方式也是我们一直以来使用的开发模板。

Read More

详解Dagger2

为什么使用依赖注入

首先我们需要知道,人们在很长的一段时间里都是利用控制反转原则规定:应用程序的流程取决于在程序运行时对象图的建立。通过抽象定义的对象交互可以实现这样的动态流程。而使用依赖注入技术或者服务定位器便可以完成运行时绑定。

Read More

深入理解RxJava(1)-基础篇

RxJava正在Android开发者中变的越来越流行。唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现RxJava真是太棒了。
这里仅仅是帮助你了解RxJava,整个系列共有四篇文章,希望你看完这四篇文章之后能够了解RxJava背后的思想,并且喜欢上RxJava。

Read More