您的位置:首页 > 编程语言 > Java开发

RxJava学习笔记

2016-04-15 00:13 387 查看

RxJava学习笔记

// 示例
Observable
.create((Observable.OnSubscribe<Integer>) subscriber -> {   // 创建Observable对象,接收一个OnSubscribe对象
subscriber.onNext(num);
subscriber.onCompleted();
})
.subscribeOn(Schedulers.newThread())
.map(String::valueOf)
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {
}

@Override
public void onError(Throwable e) {
}

@Override
public void onNext(String s) {
System.out.println(s);
}
});


家族成员

类/对象

Observable

简单理解

被观察者

深入理解

博主暂时停留在简单理解上…

OnSubscribe

简单理解

观察者在通知订阅者时的行为

深入理解

有suscriber订阅后通过onSubscribe.call()执行,类似策略模式(在学习过策略模式后我会无脑地认为所有对行为类地封装都是策略模式…)

Func1

简单理解

类似于Runnable类,里面只有一个方法,不过比Runnable多了方法参数、泛型和返回值

深入理解

去看Func和Aciton的源码, 看不出来别回来…(提示:看返回值,看泛型类型和call方法接收的参数数量)

subscriber

简单理解

订阅者,继承Observer,内部封装了onStart()等特有方法,其他像onNext()、onComplete()等方法继承自Observer,这些方法用于在观察者(Observable)中回调

深入理解

博主暂时停留在简单理解上…

方法

Observable.create(onSubscribe)

简单理解

等同于new Observable(onSubscribe),构造函数接收一个OnSubscribe对象

深入理解

Observable构造函数用protect保护起来,无法通过new创建,只有通过静态方法如create()获取对象,接收一个OnSubscribe对象,赋值给成员变量OnSubscribe onSubscribe持有,在订阅者订阅后通过onSubscribe.call()进行回调

subscribeOn(Scheduler)

简单理解

设置此Observable的工作线程

深入理解

博主暂时停留在简单理解上…

map(Func1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RxJava RxAndroid