一、啥是RXjava
1.1 简介 一个在Java Jvm上使用可观测的序列来组成异步的、基于事件的程序的库。 概念很复杂,没所谓。我们先学会使用。
RxJava github地址: https://github.com/ReactiveX/RxJava RxJava github地址: https://github.com/ReactiveX/RxAndroid
建议查看他的wiki,可以看它内容,进行通篇的认识。
1.2 三个概念
Observable:被观察者(主题Subject)Observer/Subscriber:观察者Subscribe: 订阅Observable和Observer 通过subscribe() 方法实现订阅关系
//以前是通过add到被观察者里面进行订阅,然后change来进行通知。 RxJava是一旦订阅就发送。
前提是先依赖了
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'// Because RxAndroid releases are few and far between, it is recommended you also// explicitly depend on RxJava's latest version for bug fixes and new features.compile 'io.reactivex.rxjava2:rxjava:2.0.1'已经包含订阅
observable.subscribe(new Consumer<String>() { @Override public void accept(String s) throws Exception { //这个accept就等于观察者的onNext Log.e(TAG, "accept: "+s); } }, new Consumer<Throwable>() { @Override public void accept(Throwable throwable) throws Exception { //onError } }, new Action() { @Override public void run() throws Exception { } });包含了订阅
Observable<String> observable = getObservable();observable.subscribe(new Consumer<String>() { @Override public void accept(String s) throws Exception { //这个accept就等于观察者的onNext Log.e(TAG, "accept: "+s); }});新闻热点
疑难解答