Piasy

NEVER STOP

YetAnotherDream

2016 年终于过去,可以松口气,捋一捋过去的 376 天了。 新年农历初五,翻译了第一篇 NimbleDroid 的博客,不算什么了不起的大事,但自己增长见识的同时,也能给别人一点帮助,就挺好。后来一直坚持翻译他们的每一篇博客,虽然最后有几篇没时间翻译,但今天拜访了他们的创始人,贵系俊峰师兄,自己一点微不足道的工作得到了认可,我很高兴。 从年初开始逐步总结在 YOLO 所做的事情,音频...

RxJava 复杂场景(二):调度

RxJava 最大的两个特点:事件流操作,异步。 组合利用各种操作符,我们可以实现复杂的事件流处理需求,例如前文中提到的缓存:根据一组 id,先从本地查询,本地缺失的部分再从服务器获取,再把两者合并起来返回,最后服务器获取的部分还要保存到本地。 而利用 subscribeOn 和 observeOn 这两个操作符,我们可以轻松地实现代码执行的异步调度。 但当我们的需求变得越来越复杂时,...

这个国庆假期我做了些什么?

今年国庆假期,我依然没有出去。那我在家做了些什么? 大抵就是三件事:给家里的宝宝做了一顿丰盛的排骨;一口气翻译了六篇 Advanced RxJava 博客,完成了六周的量,目前这个系列还有 18 篇文章,预计 5 个月之后就能翻译完;花了 50 个小时,验证了 AndroidTDDBootStrap 在开启安卓新项目时的强大优势,怎么验证的?花了 50 个小时,就开发出了一个复杂的信息中心...

OkBuck,一周年啦!

渊源 我从 15 年 9 月份开始了解到快速打包相关的技术,此时已经饱受 Gradle 打包龟速的痛苦,一次 one line edit build 就要一分半钟。 首先了解到的是 LayoutCast,但由于它只支持 Android 5.0 以上(ART)的手机,虽然 5.0 的测试机肯定有,但还有大多数测试机不是 5.0,还是有很多时候会比较慢,所以没有采用。 这时候 BUCK 进...

拆轮子系列:拆 RxJava

RxJava 这个项目已经持续四年半了,第一个 commit 是在 2012 年 3 月 18 号。我从 14 年 11 月份开始使用 RxJava,应该算是比较早的,将近两年过去了,现在 RxJava 1.x 版本已经进入稳定期,2.0 版本也已经进入了 RC 阶段。 原本打算把 Advanced RxJava 系列博客翻译完之后再拆 RxJava 的,但是前两周看了一个 JW 讲 Rx...

RESTful 安卓网络层解决方案(三):API model 与 Business model 分离

在拆轮子系列:拆 Okio 最后我曾说过会对 Retrofit、OkHttp、Okio 三者进行一个小结,并且整理一套网络层的“微架构”,今天终于得以完成,在这里一起奉送给大家 :) RESTful 安卓网络层解决方案(一):概览与认证实现方案 RESTful 安卓网络层解决方案(二):空 JSON 和 API Error 解析 🏁 RESTful 安卓网络层解决方案(三):...

RESTful 安卓网络层解决方案(二):空 JSON 和 API Error 解析

在拆轮子系列:拆 Okio 最后我曾说过会对 Retrofit、OkHttp、Okio 三者进行一个小结,并且整理一套网络层的“微架构”,今天终于得以完成,在这里一起奉送给大家 :) RESTful 安卓网络层解决方案(一):概览与认证实现方案 🏁 RESTful 安卓网络层解决方案(二):空 JSON 和 API Error 解析 RESTful 安卓网络层解决方案(三):...

RESTful 安卓网络层解决方案(一):概览与认证实现方案

在拆轮子系列:拆 Okio 最后我曾说过会对 Retrofit、OkHttp、Okio 三者进行一个小结,并且整理一套网络层的“微架构”,今天终于得以完成,在这里一起奉送给大家 :) 🏁 RESTful 安卓网络层解决方案(一):概览与认证实现方案 RESTful 安卓网络层解决方案(二):空 JSON 和 API Error 解析 RESTful 安卓网络层解决方案(三):...

RxJava 复杂场景(一):高级缓存

用 RxJava 处理网络数据和本地缓存这个话题大家肯定听过好多遍了,但今天这里还有点新花样:高级缓存。什么叫高级缓存?我得向大家坦白,题目中的“高级”其实只是为了吸引大家点进来,内容有一定综合性,希望大家喜欢。 1,先理解问题 首先我们当然需要理解清楚问题: 本地缓存了大量的用户信息,放在一张数据库的表中,当我们拿着一个 id 列表批量获取用户信息时,我们需要首先从数据库中查询这些用...

拆轮子系列:拆 Okio

Retrofit,OkHttp,Okio 是 Square 团队开源的安卓平台网络层三板斧,它们逐层分工,非常优雅地解决我们对网络请求甚至更广泛的 I/O 操作的需求。其中最底层的 Okio 堪称小而美,功能也更基础,应用更广泛。这次我们就对它进行一个详细的分析。本文的分析基于 Okio 截至 2016.8.4 的最新源码,非常建议大家下载 Okio 源码之后,跟着本文,过一遍源码。 1,...