【Android】Rxjava2 一个简单的demo,简单

一个简单的例子,就是简单

Observable.create(new ObservableOnSubscribe<String>() {
            @Override
            public void subscribe(ObservableEmitter<String> emitter) throws Exception {
                L.D("rxjava..实践 1", "线程" + Thread.currentThread().getName());
                //可在这里做异步操作(记得放io线程中)
                Thread.sleep(1000);
                //发送数据,会沿着数据流向下,直至subscribe("这里的对象消耗结束")
                emitter.onNext("我是第一个发出的数据");
            }

        })
            //数据流向下  使用observeOn切换线程至io
            .observeOn(Schedulers.io())
            //变换操作符  在io线程中,将<T(输入),K(输出)>
            .map(new Function<String, String>() {
                @Override
                public String apply(String s) throws Exception {
                    L.D("rxjava..实践 2", "线程" + Thread.currentThread().getName());
                    //return的结果即处理后结果,输出到下一个数据流
                    return "我是处理后的数据";
                }
            })
            //订阅线程切换
            .subscribeOn(Schedulers.io())
            //数据流向下  使用observeOn切换线程至main,可进行ui操作
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<String>() {
                @Override
                public void accept(String s) throws Exception {
                    //accept接收到数据流最终结果,有多种接收方式(onNext..)
                    L.D("rxjava..实践 3", "线程" + Thread.currentThread().getName() + "..最终数据" + s);
                }
            });

输出log

加了sleep会先输出 

实践1..

1秒后

实践2..

实践3..

 

自己写不好,也要学会收集大佬们的笔记

借鉴

这可能是最好的RxJava 2.x 教程(完结版)

RxJava2操作符汇总

observeOn与subscribeOn的线程切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值