RxJava响应式编程,入门的HelloWorld;

RxJava核心就是异步,它也被称之为响应式编程;最大的优势就是随着程序逻辑变得越来越复杂,它依然能够保持简洁。

Rxjava真的是让人又爱又恨,因为它的线程切换和链式调用真的很好用,但是入门却有点难度,因为它和你之前对代码的理解不一样;

添加配置:

compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

下面是代码:

Observable.create(new ObservableOnSubscribe<String>() {
    @Override
    public void subscribe(ObservableEmitter<String> e) throws Exception {
        e.onNext("Hello");
        e.onNext("World");
        e.onNext("RxJava");
        e.onComplete();
    }
})
        .subscribe(new Observer<String>() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(String value) {
                Log.i("tag", "onNext: "+value);
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        });

输出结果:

Holle  World  RxJava;

看不懂?来我们这样写!

//被观察者(发射器)
Observable observable = Observable.create(new ObservableOnSubscribe<String>() {
    @Override
    public void subscribe(ObservableEmitter<String> e) throws Exception {
        e.onNext("Hello");
        e.onNext("World");
        e.onNext("RxJava");
        e.onComplete();
    }
});
//观察者(接受器)
      Observer<String> observer = new Observer<String>() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(String value) {
                Log.i("tag", "onNext: "+value);
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        };
      //订阅事件,链接发射器和接收器;
      observable.subscribe(observer);

如果你还是不清楚的话,那我再说一个简单的例子;Button的点击事件都用过吧;

扫描二维码关注公众号,回复: 1425552 查看本文章

Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        
    }
});

用RxJava的思想来说它就是:

button就是一个发射器--(Observable);

onClick就是接收器--(Observer);

然后通过setOnClickListener把它们两个链接起来--(subscribe);这样onclick就能收到button的点击事件了;




猜你喜欢

转载自blog.csdn.net/qq_35605213/article/details/80100777