RxJAVA--自定义Observable

    @Test
    public void test3() throws InterruptedException {
        GiveObservable g = new GiveObservable();
        g.getObservable().subscribe(new GiveObserve());
    }


class GiveObserve extends Subscriber<Integer> {
    @Override
    public void onCompleted() {

    }

    @Override
    public void onError(Throwable throwable) {

    }

    @Override
    public void onNext(Integer integer) {
        System.out.println(integer);
    }
}

class GiveObservable {
    public Observable<Integer> getObservable() {
        return Observable.unsafeCreate(subscriber -> {
            DataRunner dataRunner = new DataRunner(subscriber);
            dataRunner.start();
        });
    }
}

class DataRunner extends Thread {
    private Subscriber subscriber;

    public DataRunner(Subscriber subscriber) {
        this.subscriber = subscriber;
    }

    @Override
    public void run() {
        subscriber.onNext(1);

    }
}

猜你喜欢

转载自blog.csdn.net/jaycegg/article/details/80963763