操作符之创建操作符

     1、作用

  • 创建 被观察者( Observable) 对象 & 发送事件。

     2、类型

     3、详解

          3.1  create()

    public static void create() {
        Observable.create(new ObservableOnSubscribe<Integer>() {
            @Override
            public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
                emitter.onNext(1);
                emitter.onNext(2);
                emitter.onNext(3);
                emitter.onComplete();
            }
        }).subscribe(new Observer<Integer>() {
            @Override
            public void onSubscribe(Disposable d) {
                Log.d(TAG, "onSubscribe");
            }

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

            @Override
            public void onError(Throwable e) {
                Log.d(TAG, "onError: " + e.toString());
            }

            @Override
            public void onComplete() {
                Log.d(TAG, "onComplete");
            }
        });
    }

         输出:

08-06 10:27:59.073  8859  8859 D Operation: onSubscribe
08-06 10:27:59.073  8859  8859 D Operation: onNext: value = 1
08-06 10:27:59.073  8859  8859 D Operation: onNext: value = 2
08-06 10:27:59.073  8859  8859 D Operation: onNext: value = 3
08-06 10:27:59.073  8859  8859 D Operation: onComplete

          3.2   just()----- 见rxdocs.pdf第49页

     作用:按顺序原样发射数据

                   注:最多发射10个参数

    public static void just() {
        Observable.just(1, 6, 8)
                .subscribe(new Observer<Integer>() {
                    @Override
                    public void onSubscribe(Disposable d) {
                        Log.d(TAG, "onSubscribe");
                    }

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

                    @Override
                    public void onError(Throwable e) {
                        Log.d(TAG, "onError: " + e.toString());
                    }

                    @Override
                    public void onComplete() {
                        Log.d(TAG, "onComplete");
                    }
                });
    }

          输出:

08-06 10:29:12.812  9095  9095 D Operation: onSubscribe
08-06 10:29:12.812  9095  9095 D Operation: onNext: value = 1
08-06 10:29:12.812  9095  9095 D Operation: onNext: value = 6
08-06 10:29:12.812  9095  9095 D Operation: onNext: value = 8
08-06 10:29:12.812  9095  9095 D Operation: onComplete

猜你喜欢

转载自www.cnblogs.com/andy-loong/p/11307436.html