看别人的RxJava 虽然能懂,但是觉得,没必要的描述了大笔篇幅。
自己整理一些具象场景帮助自己理解Rxjava这个比较抽象的框架。
只是为了开发理解上方便,做个小计,逻辑等方面不符合什么的,请勿喷!!!你可以右上角点击关闭,谢谢!!!
Observables(被观察者,事件源) 具象 :小偷
Subscribers(观察者) 具象 :警察
Subscriber的onNext方法 具象 :警察在被盗地点进行调查
Subscriber.onError() 具象 :警察在被盗地点进行调查,但是这次是谎报
/***********************************************
******************* 第 一 幕********************
**************************************************/
//小偷
Observable<String> myObservable = Observable.create( //小偷留下偷盗痕迹 new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> sub) { //小偷留下 “一句话线索” sub.onNext("今夜,小爷来此一盗!"); sub.onCompleted(); } } );
Subscriber<String> mySubscriber = new Subscriber<String>() { @Override public void onNext(String s) { //警察接警后,来到现场看到了,小偷留下 “一句话线索” System.out.println(s); } @Override public void onCompleted() { } @Override public void onError(Throwable e) { } };
myObservable.subscribe(mySubscriber);
//小偷 盗窃
Observable<String> myObservable = Observable.just("今夜,小爷来此一盗!");
Action1<String> onNextAction = new Action1<String>() { @Override public void call(String s) { System.out.println(s); } };
myObservable.subscribe(onNextAction);
Observable.just("Hello, world!") .subscribe(new Action1<String>() { @Override public void call(String s) { System.out.println(s); } });
Observable.just("Hello, world!").subscribe(s -> System.out.println(s));
操作符(Operators)
//小偷聪明了,犯案后,可以对盗窃痕迹进行二次处理,然后,警察来到现场,看到了加密后的犯案线索
Observable.just("今夜,小爷来此一盗!") .map(new Func1<String, String>() { @Override public String call(String s) { return "-----清理掉线索----"; } }) .subscribe(s -> System.out.println(s));//注明下,这里的Func1的第一个String代表传入参数类型,即小偷的痕迹,第二个String代表要加密后线索的类型
Observable.just("今夜,小爷来此一盗!") .map(s -> "-----清理掉线索----") .subscribe(s -> System.out.println(s));
Observable.just("Hello, world!") .map(s -> s.hashCode()) .map(i -> Integer.toString(i)) .subscribe(s -> System.out.println(s));
Observable.just("Hello, world!") .map(s -> s.hashCode()) .map(i -> Integer.toString(i)) .subscribe(s -> System.out.println(s));
详细解说:http://blog.csdn.net/lzyzsd/article/details/41833541/