Rxjava 可以模糊的理解为就是 监听 或者观察者模式,一个发送数据 一个接受数据。
好直接进入正题最最简单的例子就是。(你已经了解一些关于Rxjava的内容了)
//进行发送数据 Observable sender = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { subscriber.onNext("Message"); } }); //接受数据的方法 Observer<String> receiver = new Observer<String>() { @Override public void onCompleted() { //接受数据完成是执行的方法 } @Override public void onError(Throwable e) { //出错的时候执行的方法 } @Override public void onNext(String s) { //接受到的数据 System.out.print(s);//传送过的来的“Message” } }; //发送数据 和接受数据联系起来 sender.subscribe(receiver);
这就是最简单直接的Rxjava的入门基础。主要是进行 发送数据 (sender)接受数据(recvier)进行的。
Observerable:就是创建的发送数据的。
Observer:就是创建的接受数据的。
其中 Subject 是一个比较特殊的存在 可以当做发送数据的 也可以当做接受数据的。
其中主要的可能会经常用到的名词:
Subscriber:接收源.Subscriber实现了Observer接口,比Observer多了一个最重要的方法Func0 :有call()方法,但是它是有返回值的,同样也有Func0、Func1...Func9;unsubscribe( )
,用来取消订阅,当你不再想接收数据了,可以调用unsubscribe( )
方法停止接收,Observer 在subscribe()
过程中,最终也会被转换成 Subscriber 对象,一般情况下,建议使用Subscriber作为接收源;
mbservable = Observable.create(
new Observable.OnSubscribe<
String>()
{
public
void call(Subscriber<?
super
String> subscriber)
{ subscriber.onNext(
"create1");
//发射一个"create1"的String subscriber.onNext(
"create2");
//发射一个"create2"的String subscriber.onCompleted();
//发射完成,这种方法需要手动调用onCompleted,才会回调Observer的onCompleted方法 }});
先了解一下大概的用法。时间有点紧,在第二张会更详细的介绍一下,