美文网首页
Rxjava 操作符-1-创建操作符

Rxjava 操作符-1-创建操作符

作者: 揭穿套路 | 来源:发表于2019-01-03 11:55 被阅读0次

    1、creat

        Consumer consumer = new Consumer<T>() {
            @Override
            public void accept(T t) throws Exception {
                Toast.makeText(getActivity(), "onNext:" + t, Toast.LENGTH_SHORT).show();
            }
        };
        Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() {
            @Override
            public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
                emitter.onNext(1);
                emitter.onNext(2);
                emitter.onComplete();
            }
        });
        //被观察者和观察者建立订阅关系
        observable.subscribe(consumer);
    

    2、just

    将为你创建一个Observable并自动为你调用onNext( ) 顺序发射数据

     Observable.just("one", "two").subscribe(consumer);
    

    3、fromArray

    from 跟just 效果一样, just 是调用fromArray 实现的

    String[] observableArr = new String[]{"one", "two"};
    Observable.fromArray(observableArr).subscribe(consumer);
    

    4、interval

    间隔发送

    Disposable subscribe;
    subscribe = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread()).subscribe(new Consumer<Long>() {
                        @Override
                        public void accept(Long aLong) throws Exception {
                            if (aLong >= 3) {
                                subscribe.dispose();
                            }
                            Toast.makeText(getActivity(), "onNext:" + aLong, Toast.LENGTH_SHORT).show();
                        }
                    });
    

    上述例子 没个一秒 发送一次数据,3秒以后停止发送

    5、range

    整数范围类发送 range (start,count)从start 向后count 发送

     Observable.range(2, 5).subscribe(consumer);
    

    Toast 2、3、4、5、6

    6、repeat

    重复发送

     Observable.range(2, 3).repeat(2).subscribe(consumer);
    

    Toast 2、3、2、3

    相关文章

      网友评论

          本文标题:Rxjava 操作符-1-创建操作符

          本文链接:https://www.haomeiwen.com/subject/lyxelqtx.html