RxJava 入门

RxJava最近两年在Android移动端使用越发的流行起来,但是学习成本稍高。

这一篇博客主要从一个简单的例子开始,设计一下内容:

  1. RxJava类库的导入
  2. RxJav运用实例
  3. RxJava简单分析

1、RxJava类库的导入

Android开发中使用RxJava首先需要在gradle文件中导入类库

implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

2、RxJava运用实例

    Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
        @Override
        public void subscribe(ObservableEmitter<String> e) throws Exception {
            e.onNext("hello!");
            e.onNext("world!");
            e.onNext("are you ok!");
        }
    });

    Observer<String> observer = new Observer<String>() {
        @Override
        public void onSubscribe(Disposable d) {

        }

        @Override
        public void onNext(String value) {
            Log.d(TAG, "onNext " + value + "");
        }

        @Override
        public void onError(Throwable e) {

        }

        @Override
        public void onComplete() {

        }
    };


    /**
     * 测试rxjava测试
     */
    private void rxTest() {
        observable.subscribe(observer);
    }

 

结果:

09-12 19:35:45.920 30215-30215/hq.demo.net D/NewOkHttpFragment: onNext hello!
09-12 19:35:45.920 30215-30215/hq.demo.net D/NewOkHttpFragment: onNext world!
09-12 19:35:45.920 30215-30215/hq.demo.net D/NewOkHttpFragment: onNext are you ok!

 

或者采用链式调用

   /**
     * 测试rxjava测试链式调用
     */
    private void rxTestChain() {
        Observable.create(new ObservableOnSubscribe<String>() {
            @Override
            public void subscribe(ObservableEmitter<String> e) throws Exception {
                e.onNext("hello!");
                e.onNext("world!");
                e.onNext("are you ok!");
            }
        }).subscribe(new Observer<String>() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(String value) {
                Log.d(TAG, "onNext " + value + "");
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        });

    }

 

3、RxJava简单分析

RxJava涉及几个角色:

1)Observable :被观察者

2)Observer:观察者

3)subscribe:订阅方法

4)事件

Observer通过subscribe与Observable关联,Observable 可以在其产生变化的时候发出事件来通知 Observer,其实就是使用了通用的观察者模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值