转载

Rxjava你不知道的秘密

概述

RxJava是作为Android开发中的新贵, 越来越多的人参与到RxJava的拓展和使用上,如 JakeWharton 参与了多个RxJava项目。国内呢,一大批(如扔物线、小邓子、代码家等)对RxJava推广,你要不没听过它,你都觉得不好意思,因为它太火了。

Rxjava你不知道的秘密

前言

大概是在14年底,我在一个创业公司,从yahoo来的曾Sir就给我们分享RxJava但是当时资料甚少,加上项目赶紧,就大概知道了RxJava这种响应式处理数据太好了,但是使用起来需要自己写一堆配套的库,所以就搁置了。但是随着Retrofit 2.0、RxVolley等这些好用的第三方RxJava拓展库 —- 用一次就觉得爽到爆 —我决定在公司的项目中使用RxJava了。

RxJava是一个针对JVM通用的工具库,在Github上你会发现一堆的扩展库,在简书、CSDN等技术论坛上,你会发现有N多篇RxJava的文章,对于一个新手或者进阶的开发者,我就以过来人的身份为大家列出一些入门的文章和项目。

技术入门

首先你得熟悉RxJava,至于RxAndroid、RxBinding等可以放到后面在看,这个是基础。

为什么要用RxJava以及RxJava能干什么

在Flipboard工作的扔物线同学用通俗的描述为我们讲述什么是Rxjava,为什么要用RxJava — 给 Android 开发者的 RxJava 详解 。很喜欢他的文章风格,图文都是让你过目不忘。

该怎么用RxJava

其实我以前是先看的 大头鬼 翻译的文章,觉得翻译的很好(英文的,看着多多少少有时不太理解),深入浅出告诉你怎么使用RxJava。

  1. 深入浅出RxJava(一:基础篇)
  2. 深入浅出RxJava(二:操作符)
  3. 深入浅出RxJava三—响应式的好处
  4. 深入浅出RxJava四-在Android中使用响应式编程

看完了这些你或许对RxJava有个大概的印象和使用常见的操作符,那你可以试试用RxJava和RxAndroid来一个简单的项目。

MovieListApp 没事可以看看这个项目,将请求的服务器远程数据请求后,通过Observable.just()后,可以处理这些数据,通过map转换、onNext()里缓存,线程切换、最后通过subcriber交给我们需要展示的UI组件上。

是不是有点意思了。

还有一个Demo。

等等,我感觉我还是不熟练啊。没关系,我是雷锋,继续给你发放福利。

ReactiveX文档中文翻译

各种操作符的示例图

泡网相关的RxJava总结

拓展库

RxJava的拓展库太多了,如 JakeWharton 参与或者主导的项目就有4个:

Rxjava你不知道的秘密

我就我们可能会用到的一些库给大家抛砖引玉:

Retrofit

一个懒人必备神器,可以简化我们对网络请求的封装,用它可能也有一些问题,需要你再开发中解决。建议使用Retrofit 2.0。

  1. Retrofit 2.0:有史以来最大的改进

  2. RxJava 与 Retrofit 结合的最佳实践

  3. Retrofit的使用手册

这样你就可以看别人怎么使用Retrofit了,上几个项目:

  1. NBAPlus 。
  2. RxWeather

RxVolley

使用起来简单,最主要作者是国内的 kymjs 张涛

Rxjava你不知道的秘密

主要是和UI组件绑定,将Onclick、TextWatcher等时间作为一个事件源,再扔物线中也有提及。

RxLifecycle 用来严格控制由于发布了一个订阅后,由于没有及时取消,导致Activity/Fragment无法销毁导致的内存泄露。

rx-preferences 用RxJava实现Android中的SharedPreferences

Storio 支持RxJava的网络请求库

原文  http://ownwell.github.io/2016/04/01/Rxjava你不知道的秘密/
正文到此结束
Loading...