ReactiveX基础

#Observable基础:

基本的类:

1
2
3
4
5
6
7
8
9
10
public class Observable<T> {
final OnSubscribe<T> onSubscribe;
public interface OnSubscribe<T> extends Action1<Subscriber<? super T>> {
// cover for generics insanity
}
}

public interface Action1<T> extends Action {
void call(T t);
}

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//给Observable的onSubscribe赋值了我们定义的OnSubscribe对象
Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
subscriber.onNext("hello");
}
})
//subscribe这个函数做了什么事?
//调用Observable中的OnSubscribe对象的call方法,以下面的Subscriber对象作为参数。
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {

}

@Override
public void onError(Throwable e) {

}

@Override
public void onNext(String s) {
Log.d("rx", s);
}
});