RxJava学习历程(一)

RxJava也火了好久了,网上介绍的博文也很多,在此谨记录自己学习的一些理解和心得,可能有些地方说的不一定对的。谨此记录而已。
先附上友链给 Android 开发者的 RxJava 详解大头鬼.
再次声明。博文谨代表我个人的理解,若误认子弟,概不负责。当然,也不一定有多少人会看到我这篇博文了,还是在此自恋一下。

RxJava采用的是观察者模式,同时面向接口编程,利用回调实现了被观察变化后观察者能立刻做出反应,而不用观察者一直注意在被观察者的身上。最近越来越喜欢接口这个东西了,真是感觉用接口写出的代码,自己都觉得自己帅呆了。~。

今天刚开始学习RxJava,首先学习了Rx最基本的几个知识点,记录如下:
Obserable(被观察者) 、Subsciber(观察者) ,当被观察者有什么风吹草动观察者都会受到消息从而采取可以采取措施。编码层面代码具体怎么写呢。

1.生成一个被观察者

方式一:

rx.Observable<String> observable = rx.Observable.create(new rx.Observable.OnSubscribe<String>() {
        @Override
        public void call(Subscriber<? super String> subscriber) {
            subscriber.onNext("hello world");
        }
    });

方式二:

rx.Observable<String> observable1= rx.Observable.just("hello world");

这两种方式在此处效果是等价的。但注意just方法里面传参数生成的Observable和def方式使用的Observable的不同,具体看下篇博文。

2.生成一个观察者:

 rx.Subscriber<String> subscriber1 = new Subscriber<String>() {
        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {

        }

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

3.将两者结为百年之好。

observable.subscribe(subscriber1);

运行一下,你就会获得"hello world"的打印。

或者被观察者只被一种观察一种行为也可以,subscribe也提供了其他形参种类的方法,比如还是使用上面的被观察者,但现在只监听它的onNext行为。如下:

 Action1<String> mOnNextAction = new Action1<String>() {
        @Override
        public void call(String s) {
            Log.v("TAG", s);
        }
    };
    observable1.subscribe(mOnNextAction);

这样运行的结果也是一样的。同样subscribe方法还提供了一个分别对应onNext,onCompleted和onError这3个Action的重载,对应顺序是否正确,已忘,不敢保证。

最后别忘记将被观察者解绑。

if (subscriber.isUnsubscribed()){
        subscriber.unsubscribe();
    }

ok,今天先写到这里,后面笔记继续随着学习而增加,睡觉觉啦,呼啦啦~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的...
    Jason_andy阅读 5,602评论 7 62
  • 前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard...
    占导zqq阅读 9,205评论 6 151
  • 最近项目里面有用到Rxjava框架,感觉很强大的巨作,所以在网上搜了很多相关文章,发现一片文章很不错,今天把这篇文...
    Scus阅读 6,907评论 2 50
  • 在群山的静默里带着伏在沟壑里薄薄的白雾数着心跳在等等太阳升起等阳光照亮脸庞等温暖注满空旷的心然后回家
    竹无心a阅读 563评论 21 40
  • 讨厌窗户的防盗栏,风可以进来,我却不能逆着风探出头去。 我望出去,但是望不穿,只能看见前面的,怎么也看不见旁边的和...
    帅帅婧阅读 139评论 0 0