xiaominfc
4/26/2018 - 2:29 AM

test RxJava

test RxJava

package com.xiaominfc.demo;

import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Function;
import io.reactivex.functions.Predicate;


/**
 * Created by xiaominfc on 2018/4/25
 */

public class RxJavaTest {

    public static void main(String args[]) {
//
//        Observable.create(s->{
//           s.onNext("test");
//           s.onComplete();
//        }).subscribe(test->{System.out.println(test);});


        Observable<Integer> o = Observable.create(s->{
            s.onNext(1);
            s.onNext(2);
            s.onNext(3);
            s.onComplete();
        });

        

        o.filter(new Predicate<Integer>() {
            @Override
            public boolean test(Integer integer) throws Exception {
                if(integer == 2) {
                    return false;
                }
                return true;
            }
        }).map(new Function<Integer, String>() {
            @Override
            public String apply(Integer integer) throws Exception {
                return "Number " + integer;
            }
        }).subscribe(new Observer<String>() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(String o) {
                System.out.println(o);
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        });
    }
}