RxAndroid
1.1、RxAndroid简介

RxAndroid是对Android开发支持库。

RxAndroid发展到现在,只剩下调度器的功能了。

RxAndroidGitHub上的网址:https://github.com/ReactiveX/RxAndroid

1.2、在build.gradle里面添加依赖

RxAndroid v1的依赖:

compile 'io.reactivex:rxandroid:1.1.0'

RxAndroid v2的依赖:

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

RxAndroid依赖RxJava,你可以指定RxJava的版本也可以不指定,让他自己处理依赖关系。

1.3、AndroidSchedulers
1.3.1、AndroidSchedulers.mainThread()

方法原型:public static Scheduler mainThread()

使用示例:

Observable.just("one", "two", "three", "four", "five")
          .subscribeOn(Schedulers.newThread())
          .observeOn(AndroidSchedulers.mainThread())
          .subscribe(/* an Observer */);
1.3.2、AndroidSchedulers.from(Looper looper)

方法原型:public static Scheduler from(Looper looper)

使用示例:

Observable.just("one", "two", "three", "four", "five")
          .subscribeOn(Schedulers.newThread())
          .observeOn(AndroidSchedulers.from(Looper.getMainLooper()))
          .subscribe(/* an Observer */);
1.4、HandlerScheduler

HandlerScheduler通过public static HandlerScheduler from(Handler handler)可以与一个Handler关联起来。

使用示例:

Handler handler = new Handler(Looper.getMainLooper());
Observable.just("one", "two", "three", "four", "five")
          .subscribeOn(Schedulers.newThread())
          .observeOn(HandlerScheduler.from(handler))
          .subscribe(/* an Observer */);

需要注意的是,这个类其实已经不可用了,功能被AndroidSchedulers中的public static Scheduler from(Looper looper)所取代。