在项目里运行RxAndroid - 第一天

对于近来大热的RxJava,很早以前就有在关注。其优雅的代码格式我相信任何一位程序员见了都会赞不绝口。在网上查阅相关使用资料后终于也是心痒难耐,决定将此优秀编程思想框架应用到自己的项目中,以博客形式记录整个使用过程。

什么是RxJava?RxAndroid?

  • 先确认下==RxJava==的概念。

a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

官方对RxJava的介绍就这一句,翻译过来意思就是一个使用事件机制调解异步的程序,它可以让程序按照可观察的序列在虚拟机上运行。第一次看完都会有一个这是什么鬼的感觉,我翻译的也许不是特别准确,但它的核心思想就是异步和序列。作为程序员,其实代码永远比语言更有效果,读者可以在事例代码中慢慢了解RxJava的强大之处。

  • 而RxAndroid就很简单,它是基于RxJava的带有生命周期管理,这是为了安卓系统专门打造的库。

应用场景

换句话说就是我为什么要用RxJava,他能解决我的什么问题?如果你是只勤奋程序员,学习RxJava是出于对开发知识的热爱那这一段可以忽略了。在实际开发时我遇到了这样一个需求问题,在注册流程中有几个接口需要在同一页面中依次请求,当用户输入完用户名和密码,点击注册按钮后,首先调用注册接口,注册成功时得到返回的用户ID,再依据此ID调用登录接口,登录成功后调用用户信息接口,确认用户信息后调用设置用户登记接口。这四个接口一环套一环必须依次执行。到这里也许你已经明白这种情况下的代码阅读复杂性。

怎么用

RxJava可以轻松帮你优化代码的可读性。上面的情况在RxJava眼里就会变成--

示例伪代码
    Observable
            .register()
            .login()
            .getUserInfo()
            .setUserLevel()
            .jumpToHome();
        (这不是真正的写法!)

这段伪代码表现的就是RxJava的代码阅读过程,是不是非常清晰。

今天就写到这里,明天将进入真正的coding部分。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。