rxjava 用到了android的事件队列了吗
2个回答
展开全部
一个词:异步
rxJava在github主页上的介绍是
"a library for composing asynchronous and event-based programs using observable sequences for the Java VM"
大概的意思就是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库。
其实rxJava的本质就是一个词,异步,它就是一个异步操作的库。
二、rxJava的好处
简洁
异步操作的比较关键的一点就是程序的简洁,在调用复杂的异步操作的时候,代码回显得很复杂,不仅难写也很难懂。虽然android 创造的asynTask和handler 都是为了让代码更加简洁。
rxJava的优势在于,随着程序逻辑越来越复杂,代码依然很清晰
三、rxJava的基本原理
rxJava实现异步,是通过扩展观察者模式来实现的。
首先,讲述下,观察者模式
观察者模式即是,a对象对b对象的某一个动作特别关注,做着密切的观察,当档手a对象做出了这个动作的时候,b对象立刻做出相应的处理。就好比android中的点击事件(onClickListener),
onClickListener.jpg
当button按钮被点击的时候,观察者对这个点击事件做出自己的反应
转变为通用的观察者模式如下:
rxJava.jpg
observable被观察者,在做出某一事碧蠢裤件的时候,通知observer观察者做出处理
RxJava使用的就是通用型的观察者模式。
RxJava观察者模式
rxJava有四个基本概念,observable(可观察者、被观察者)、observer(观察者)、subscrib(订阅)。
observable和observer通过subscrib实现订阅的关系,在observable需要的时候,发送通知给observer。
和传统的观察者模式不同,rxJava的回调事件除了onNext事件意外(相当于onClick,Onevent事件),还定义了两个特殊的事件:onCompleted()、onError()
onCompleted():事件结束触发。rxJava不仅仅将事件单独处理,还会把他们作为一个队列,在没有onNext()事件触发的时候,通过调用omCompleted()作为结束
onError():事件队列异常触发。当事件队列发生异常的时候调研onError(),同时事件队列停止,不执行任何事件了。
在队列事件中,onCompleted()和onError()是相互对立的悔简,两者正常只会有一个调用。
rxJava在github主页上的介绍是
"a library for composing asynchronous and event-based programs using observable sequences for the Java VM"
大概的意思就是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库。
其实rxJava的本质就是一个词,异步,它就是一个异步操作的库。
二、rxJava的好处
简洁
异步操作的比较关键的一点就是程序的简洁,在调用复杂的异步操作的时候,代码回显得很复杂,不仅难写也很难懂。虽然android 创造的asynTask和handler 都是为了让代码更加简洁。
rxJava的优势在于,随着程序逻辑越来越复杂,代码依然很清晰
三、rxJava的基本原理
rxJava实现异步,是通过扩展观察者模式来实现的。
首先,讲述下,观察者模式
观察者模式即是,a对象对b对象的某一个动作特别关注,做着密切的观察,当档手a对象做出了这个动作的时候,b对象立刻做出相应的处理。就好比android中的点击事件(onClickListener),
onClickListener.jpg
当button按钮被点击的时候,观察者对这个点击事件做出自己的反应
转变为通用的观察者模式如下:
rxJava.jpg
observable被观察者,在做出某一事碧蠢裤件的时候,通知observer观察者做出处理
RxJava使用的就是通用型的观察者模式。
RxJava观察者模式
rxJava有四个基本概念,observable(可观察者、被观察者)、observer(观察者)、subscrib(订阅)。
observable和observer通过subscrib实现订阅的关系,在observable需要的时候,发送通知给observer。
和传统的观察者模式不同,rxJava的回调事件除了onNext事件意外(相当于onClick,Onevent事件),还定义了两个特殊的事件:onCompleted()、onError()
onCompleted():事件结束触发。rxJava不仅仅将事件单独处理,还会把他们作为一个队列,在没有onNext()事件触发的时候,通过调用omCompleted()作为结束
onError():事件队列异常触发。当事件队列发生异常的时候调研onError(),同时事件队列停止,不执行任何事件了。
在队列事件中,onCompleted()和onError()是相互对立的悔简,两者正常只会有一个调用。
2017-03-26
展开全部
要添加Listener才起作用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询