Rxjava 基本操作符

Observable.create(new Observable.OnSubscribe<String>() {
            @Override
            public void call(Subscriber<? super String> subscriber) {
                subscriber.onNext("yang");
                subscriber.onNext("yu");
                subscriber.onNext("qi");
                subscriber.onCompleted();
            }
        }).subscribe(new Subscriber<String>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(String s) {
                Log.e("mmmmmm",s);
            }
        });

        List<String> data = new ArrayList<>();
        data.add("帥");
        data.add("比");
        Observable.just(data).subscribe(new Subscriber<List<String>>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(List<String> strings) {
                for (String name : strings){
                    Log.e("mmmm",name);
                }
            }
        });

        Observable.from(data).subscribe(new Subscriber<String>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(String s) {
                Log.e("mmmm",s);
            }
        });

        Action2<String,String> action = new Action2<String, String>() {
            @Override
            public void call(String s, String s2) {
                Log.e("mmmmmmm",s+"===="+s2);
            }
        };


        final int  i = 12;

        Observable ob = Observable.defer(new Func0<Observable<Integer>>() {
            @Override
            public Observable<Integer> call() {
                return  Observable.just(i);
            }
        });

        ob.subscribe(new Action1<Integer>() {
            @Override
            public void call(Integer o) {
                Log.e("mmmmmmm",String.valueOf(o));
            }
        });


        Observable.range(100,5).subscribe(new Action1<Integer>() {
            @Override
            public void call(Integer integer) {
                Log.e("mmmmmm",String.valueOf(integer));
            }
        });

        Observable.interval(50, TimeUnit.SECONDS).subscribe(new Action1<Long>() {
            @Override
            public void call(Long aLong) {
                Log.e("mmmmmmm", String.valueOf(aLong));
            }
        });

        Observable.timer(2,TimeUnit.SECONDS).subscribe(new Action1<Long>() {
            @Override
            public void call(Long aLong) {
                Log.e("mmmmmmm", String.valueOf(aLong));
            }
        });
//        Observable.empty().subscribe(new Subscriber<String>() {
//            @Override
//            public void onCompleted() {
//
//            }
//
//            @Override
//            public void onError(Throwable e) {
//
//            }
//
//            @Override
//            public void onNext(String s) {
//
//            }
//        });

        Observable<String> error = Observable.error(new Throwable("楊宇奇"));
        error.subscribe(new Subscriber<String>() {
            @Override
            public void onCompleted() {

            }

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

            @Override
            public void onNext(String s) {

            }
        });

        Observable.just(1).delay(3,TimeUnit.SECONDS).subscribe(new Action1<Integer>() {
            @Override
            public void call(Integer integer) {
                Log.e("mmmmmmm","delay"+integer);
            }
        });
        Observable.just(1).repeat(3).subscribe(new Action1<Integer>() {
            @Override
            public void call(Integer integer) {
                Log.e("mmmmmmm","delay"+integer);
            }
        });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章