- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
目 录
前言
第一章
第二章
第三章
第四章
本文档使用 看云 构建 - 2 -
前言
前言
原文链接点击这里
我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后 ,看到 Flipboard 的 Android 项目也在
使用 RxJava ,并且使用的场景越来越多 。而最近这几个月 ,我也发现国内越来越多的人开始提及 RxJava 。有
人说 『RxJava 真是太好用了』 ,有人说 『RxJava 真是太难用了』 ,另外更多的人表示 :我真的百度了也谷歌
了 ,但我还是想问 : RxJava 到底是什么 ?
鉴于 RxJava 目前这种既火爆又神秘的现状 ,而我又在一年的使用过程中对 RxJava 有了一些理解 ,我决定写下这
篇文章来对 RxJava 做一个相对详细的、针对 Android 开发者的介绍。
这篇文章的目的有两个 : 1. 给对 RxJava 感兴趣的人一些入门的指引 2. 给正在使用 RxJava 但仍然心存疑惑的人
一些更深入的解析
本文档使用 看云 构建 - 3 -
第一章
第一章
RxJava 到底是什么
一个词 :异步。
RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs
using observable sequences for the Java VM" (一个在 Java VM 上使用可观测的序列来组成异步的、基于事
件的程序的库 )。这就是 RxJava ,概括得非常精准。
然而 ,对于初学者来说 ,这太难看懂了。因为它是一个 『总结』 ,而初学者更需要一个 『引言』。
其实 , RxJava 的本质可以压缩为异步这一个词。说到根上 ,它就是一个实现异步操作的库 ,而别的定语都是基
于这之上的。
本文档使用 看云 构建 - 4 -
第二章
第二章
RxJava 好在哪
换句话说 ,『同样是做异步 ,为什么人们用它 ,而不用现成的 AsyncTask / Handler / XXX / ... ?』
一个词 :简洁。
异步操作很关键的一点是程序的简洁性 ,因为在调度过程比较复杂的情况下 ,异步代码经常会既难写也难被读
懂。 Android 创造的 AsyncTask 和Handler ,其实都是为了让异步代码更加简洁。RxJava 的优势也是简洁 ,但
它的简洁的与众不同之处在于** ,随着程序逻辑变得越来越复杂 ,它依然能够保持简洁。**
假设有这样一个需求 :界面上有一个自定义的视图 imageCollectorView ,它的作用是显示多张图片 ,并能使用
addImage(Bitmap) 方法来任意增加显示的图片。现在需要程序将一个给出的目录数组 File[] folders 中每个目
录下的 png 图片都加载出来并显示在imageCollectorView 中。需要注意的是 ,由于读取图片的这一过程较为耗
时 ,需要放在后台执行 ,而图片的显示则必须在 UI 线程执行。常用的实现方式有多种 ,我这里贴出其中一种 :
new Thread() {
@Override
public void run() {
super.run();
for (File folder : folders) {
File[] files folder.listFiles();
for (File file : files) {
if (file.getName().endsWith(".png")) {
final Bitmap bitmap getBitmapFromFile(file);
getAc
文档评论(0)