0°

RxJava的使用(二)Action

内容预览:
  • 让学习成为一种美、一种习惯~
  • 接下来使用subscribe重载的方法 根据实际情况使用以上的方法处理onNext(...~
  • 重新写打印&;Hello&;、&; Wrod&;的方法 相比第一篇那冗长的代码,现在感...~

始发于微信公众号: 程序员小乐


分享互联网、技术、情感等干货平台。您还可以向公众号投稿,将自己总结的技术、心得、经验分享给大家。学无止境,不求尽如人意,但求问心无愧。让学习成为一种美、一种习惯。值得爱学习的你去关注,感觉有帮助转发分享让更多的人去关注!点击上方 蓝字 关注!




作者:带心情去旅行
链接:http://www.jianshu.com/p/19cac3c5b106
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

RxJava的使用(一)基本用法 —– 由   分享

RxJava的使用(二)Action

每日英语

You never know how strong you are, untile being strong is the only choice you have.

你不会知道自己有多坚强,直到除了坚强,你别无选择时。


RxJava的使用(二)Action

回顾



在上一节中,介绍了RxJava的基本用法。下面来回顾下实现一次RxJava的基本使用。
例:分别打印”Hello”、” Wrod”


RxJava的使用(二)Action


可以看到,我们这里只用了onNext(obj),还有两个重写的onError(error)和onCompleted()并没有用到,这样导致我们多出了几行根本用不到的代码。于是就想能不能只写我们使用到的,其他几个没用到的就不写,这样的代码看着才舒服。接下来就是使用本次的主角Action来代替Subscriber


Action



上部分的代码使用Action来代替Subscriber得到的代码是这样的:


RxJava的使用(二)Action


舒服多了有没有!!

  • 什么是Action
    Action是RxJava 的一个接口,常用的有Action0和Action1。


Action0: 它只有一个方法 call(),这个方法是无参无返回值的;由于 onCompleted() 方法也是无参无返回值的,因此 Action0 可以被当成一个包装对象,将 onCompleted() 的内容打包起来将自己作为一个参数传入 subscribe() 以实现不完整定义的回调。
Ation1:它同样只有一个方法 call(T param),这个方法也无返回值,但有一个参数;与 Action0 同理,由于 onNext(T obj) 和 onError(Throwable error) 也是单参数无返回值的,因此 Action1 可以将 onNext(obj)和 onError(error) 打包起来传入 subscribe() 以实现不完整定义的回调



  • Action的使用
    定义三个对象,分别打包onNext(obj)、onError(error) 、onCompleted()。


RxJava的使用(二)Action


接下来使用subscribe重载的方法


RxJava的使用(二)Action


根据实际情况使用以上的方法处理onNext(obj)、onError(error) 、onCompleted()的回调。
现在有个疑问,为什么使用Action也能达到使用Subscriber的结果?进subscribe(Action1 onNext)的源码看看。


RxJava的使用(二)Action

RxJava源码


还以为有多高深,原来就是把Action对象转化成对应的Subscriber对象了。这样就不难理解为什么可以使用Action来代替Subscriber了。

  • 重新写打印”Hello”、” Wrod”的方法



RxJava的使用(二)Action


相比第一篇那冗长的代码,现在感觉怎么样?还是觉得代码多?确实,如果只是打印几个字符串确实还是略微复杂。不急,RxJava还有其他功能呢。


小结



Action的使用为我们减少了不必要的代码,使得写出的代码看上去更加得简洁。不过就目前来看RxJava还是没有什么优势值得我们去使用,下一篇我还会介绍更多RxJava的用法。慢慢得,你就会发现使用RxJava写出来的代码看上去真的很漂亮。


每日掏心话

忙的时候虽然累,但是忙完了会特别畅快舒服;闲的时候虽然爽,但是闲的时间长了心就慌了。你迷茫的原因往往只有一个,那就是在本该拼命去努力的年纪,想得太多,做得太少。  


RxJava的使用(二)Action


推荐阅读





小密圈
这里聚集了业界内的大牛,值得各位大牛的加入!

RxJava的使用(二)Action

看完本文有收获?请转发分享给更多人
关注「杨守乐」,提升编程技能

【QQ技术群】279126311 []
【QQ技术群】484572225 [未]

以上就是:RxJava的使用(二)Action 的全部内容。

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢。
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论