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

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

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

推荐阅读更多精彩内容

  • 作者: maplejaw本篇只解析标准包中的操作符。对于扩展包,由于使用率较低,如有需求,请读者自行查阅文档。 创...
    maplejaw_阅读 45,897评论 8 93
  • 转一篇文章 原地址:http://gank.io/post/560e15be2dca930e00da1083 前言...
    jack_hong阅读 961评论 0 2
  • 介绍 a library for composing asynchronous and event-based p...
    王培921223阅读 424评论 0 0
  • 一、RxJava操作符概述 RxJava中的操作符就是为了提供函数式的特性,函数式最大的好处就是使得数据处理简洁易...
    测天测地测空气阅读 652评论 0 1
  • 一、RxJava操作符概述 RxJava中的操作符就是为了提供函数式的特性,函数式最大的好处就是使得数据处理简洁易...
    BrotherChen阅读 1,691评论 0 10