RXjava具体使用(自己的笔记)

本文详细解析了RxJava中的线程调度机制,包括subscribeOn、observeOn等方法的使用技巧及常见问题解决方法,强调了如何正确配置线程避免订阅只触发一次的问题,并展示了在UI操作中的实际应用。
1、MyObservable.subscribeOn(Schedulers.io()) // 指定主线程
.observeOn(AndroidSchedulers.mainThread()).subscribe(MySubscriber);
这里的AndroidSchedulers.mainThread()报:
observeOn(rx.Scheduler)in Observable cannot be applied
to(io.reactivex.Scheduler)
是因为导入的包道入错误:应该导入
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.2.3'
2、如果有重复用到某一个异步,请不要在他
subscriber.onNext(msg);
时候
 subscriber.onCompleted();否则只能作用一次
3、在Ontext里面UI操作相关的,都要指定
.observeOn(AndroidSchedulers.mainThread())//在主线程中操作
一个完整的流程
myObservable2 = Observable.create(new Observable.OnSubscribe<Integer>() {
    @Override
    public void call(Subscriber<? super Integer> subscriber) {
        subscriber.onNext(1);
       /* subscriber.onCompleted();*/
    }
});
MySubscriba = new Subscriber<Integer>() {
    @Override
    public void onCompleted() {

    }

    @Override
    public void onError(Throwable e) {

    }

    @Override
    public void onNext(Integer integer) {
        if (integer == 1) {
            TbLog.printI("lognast", integer + "");
            if (time > 0) {
                text.setText("验证码已发送" + time + "秒");
                time--;
                TbLog.printI("log", time + "");
                try {
                    Thread.sleep(1000);
                    reminderText2();//执行定阅的操作
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            } else {
                text.setText("提示信息");
                time = 60;
                text.setVisibility(View.GONE);
                getyanzheng.setVisibility(View.VISIBLE);
            }
        } else {
            cord.setText("");
            text.setText("提示信息");
            time = 60;
            text.setVisibility(View.GONE);
            getyanzheng.setVisibility(View.VISIBLE);
        }
    }
};
myObservable2.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).subscribe(MySubscriba);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值