在项目里运行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 国际许可协议 进行许可。