0%

曼哈顿

那天晚上,我在深夜酒吧遇见了一个自称来自1984年的女人。
她穿着一件褪色的蓝色连衣裙,坐在吧台最角落的位置。
调酒师正在为她调制第三杯曼哈顿。
冰块在玻璃杯中碰撞,发出清脆的声响,像是某种暗号。

“你相信平行宇宙吗?”她突然问我。

阅读全文 »

雪山来信

远方的雪山在夕阳下泛着金红色的光芒,我坐在草原上,听着耳机里流淌的钢琴曲。
这是第三十七次收到她的来信,信封上依然是那个熟悉的地址:
喜马拉雅山脉,海拔6500米,第四号营地。

没有人知道她为什么会在那里,就像没有人知道为什么高山上会有邮局。
但这些信,确实每个月都会准时出现在我的邮箱里,带着雪山的气息和一丝若有若无的檀香。

阅读全文 »

原文链接:RxAndroid’s New Async API

原文作者:Zac Sweers

译文出自:Dimon’s Program Basement

译者:Dimon

RxAndroid

RxAndroid 2.1.0有一个新的API:

AndroidSchedulers#from(Looper looper, boolean async)

这新的async参数将影响Android APIs 16 及其以上版本,如果你的APP高度依赖RxJava+RxAndroid,将这个参数设置为true将能够显著提升 UI 性能表现。

阅读全文 »

原文链接:Keeping the Daggers Sharp ⚔️

原文作者:Py ⚔

译文出自:Dimon’s Program Basement

译者:Dimon

Dagger2是一个非常好的依赖注入库,但是其锋利的边缘处理起来也是比较棘手的。这就让我们来看看Square公司通过遵循哪些最佳事件来防止工程师们伤害自己

Dagger2

阅读全文 »

原文:LinkedIn’s Tips for Highly Effective Code Review
原著作者:Szczepan Faber

最近LinkedIn里程碑式地完成了他们的第100万次代码检视,这篇文章是LinkedIn社交网络服务工具的负责人Szczepan Faber分享的一些经验与教训。

阅读全文 »

原文

在这篇文章中,我们将介绍什么是Espresso,Espresso提供了什么API,如何编写UI测试。

什么是Espresso ?

Espresso正在为谷歌测试用于UI测试的框架。 它为单一应用程序中的UI测试提供了API。 用户界面测试可确保用户交互不良或遇到意外行为。

我知道你现在习惯于为你的代码编写测试(至少这是我对你的期望)。

阅读全文 »

原文

很久以后,这是系列的第三篇教程。 我希望你们都做得很好,享受教程系列(阅读,编码和改进)。

到目前为止,在本系列的第1部分和第2部分,为什么开发人员害怕重构代码,我们获得了为什么TDD至高无上,Android测试的类型,测试的位置,如何编写和运行测试等。

我们覆盖了单元测试到现在,接下来我们将转向集成测试,以验证演示者是否应对UI。

如图所示,我们可以创建用于登录的用户界面(我知道你会比这更好的用户界面)。

登录界面

阅读全文 »

原文:MVVM architecture, ViewModel and LiveData (Part 2)

在Google I / O期间,Google推出了包含LiveData 和ViewModel 的architecture components ,这有助于使用MVVM模式开发Android应用程序。 本文讨论这些组件如何为遵循MVVM的Android应用程序提供服务。

在本系列的第一篇文章中,我们讨论了这些组件如何为遵循MVVM的Android应用程序提供服务。 在第二篇文章中,我们将回答在依赖注入的第一篇文章结尾处提出的其中一个问题。

本文假定您具有Dagger的基本知识,因为我们将专注于在MVVM示例中设置最新的Dagger版本(版本2.11)以实现依赖注入。

如果您需要关于Dagger 2.11的基本信息,请查看Dagger用户指南。

阅读全文 »