Android响应式编程

一:基本概念理解

  1. 传统观察者模式:主要包含四个概念:被观察者,观察者,订阅,事件;
    通过警察抓小偷,Button的点击监听来理解观察者模式

  2. RxJava观察者模式

    1.1 事件的类型:
    事件类型:普通事件 onNext()
    特殊事件:onCompleted() 和 onError()
    Observer 的抽象类:Subscriber:
    onStart() 事件订阅前;
    unsubscribe():用于取消订阅;
    线程调度:Scheduler

一:添加依赖库

implementation "io.reactivex.rxjava2:rxjava:2.2.4"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

//支持lambda表达式
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

二:常用操作符

  1. 创建操作符
    1. fromArray

       String[] arr = new String[]{"hello","world","Ivan"};
       Observable.fromArray(arr)
                 .map(s -> s+"@").subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(s -> Log.d("Ivan", "accept: "+s));
      
    2. just(T...): 将传入的参数依次发送出来

       Observable.just("hello","rxjava")
           .map(s -> s+"!@").subscribeOn(Schedulers.io())
           .observeOn(AndroidSchedulers.mainThread())
           .subscribe(s -> Log.d("Ivan", "accept: "+s));
      

你可能感兴趣的:(Android响应式编程)