Android响应式编程——RxJava3框架的使用(一)

文章导航

Android响应式编程——RxJava3框架的使用(一)

Android响应式编程——RxJava3框架的使用(二)

Android响应式编程——RxJava3框架的使用(三)

Android响应式编程——RxJava3框架的使用(四)

1.简介

RxJava是响应式编程(Reactive Extensions)在JVM平台上的实现,即用Java语言实现的一套基于观察者模式的异步编程接口。

1.1 RxJava简述

RxJava是一个在Java虚拟机上,使用可观察的序列构成基于事件的,异步的程序库。

1.2 RxAndroid简述

RxAndroid是基于RxJava开发出的一套适用于Android开发的辅助库。

1.3 设计模式中的观察者模式

观察者模式就是RxJava使用的核心点,掌握这个模式,可以理解RxJava更简单,观察者模式简单的说就是”订阅-发布”的模式,举一例子说,当你订阅某家牛奶店的早餐奶(订阅过程),只要牛奶店生产牛奶,便会给你送过去(发布过程)。这里的牛奶店只有一家,但是订阅的人可以很多,这是一种一对多的关系,只要牛奶店发布牛奶,那么订阅的人就会收到牛奶。换做RxJava里面的话,牛奶店就是被观察者(Observable),订阅的人就是观察者(Observer)。对观察者模式不了解的可以参考Java设计模式 — 观察者模式(Observer)

1.4 RxJava中的观察者模式

RxJava中的观察者模式也是跟例子中的大同小异,也是通过创建出观察者和被观察者,然后进行订阅事件,只不过这里的观察者和被观察者已经不在是我们自定义的两个接口类,而是通过RxJava提供好的观察者和被观察者。

public static void main(String[] args) {
   
    //拿到被观察者
    Observable<String> observable = getObservable();
    //拿到观察者
    Observer<String> observer = getObserver();
    //订阅
    observable.subscribe(observer);
}

public static Observable<String> getObservable() {
   
    return Observable.create(new ObservableOnSubscribe<String>() {
   
        @Override
        public void subscribe(@NonNull ObservableEmitter<String> e) throws Exception {
   
            e.onNext("1");
            e.onNext("2");
            e.onNext("3");
            e.onNext("4");
            e.onComplete();
        }
    });
}
public static Observer<String> getObserver() {
   
    return new Observer<String>() {
   

        Disposable disposable = null;

        @Override
        public void onSubscribe(Disposable d) {
   
            disposable = d;
        }

        @Override
        public void onNext(String s) {
   
            System.out.println("onNext=" + s);
            

你可能感兴趣的:(Android)