Android RxJava2异步刷新使用
在我的认知体系中(可能我年轻)android的环境不如js的好,RxJava更像是JS的异步请求和ajax风格(个人认为)
例子的地址:
没有积分可以发邮件给我(他自己会动我也不知道为什么)
[email protected]
1.在build.gradle中引入不同的包
//rxJava
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation "io.reactivex.rxjava2:rxjava:2.0.8"
2.简单的使用
//1.被观察者
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
//发送数据
for(int a=0;a<20;a++){
emitter.onNext("HelloWorld"+a);
}
//发送完成
emitter.onComplete();
}
});
//2.观察者
Observer<String> observer = new Observer<String>() {
//保存连接状态
private Disposable disposable;
@Override
public void onSubscribe(Disposable d) {
//保存连接状态
disposable=d;
}
//接收发送的消息
@Override
public void onNext(String s) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.w("接收到的数据:" , s);
//大于11取消订阅
if(s.length()>11){
disposable.dispose();
}
}
//接受异常通知
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
//接受发送完毕通知
@Override
public void onComplete() {
System.out.println("接受完成");
disposable.dispose();
}
};
//3.观察者订阅被观察者
observable.subscribe(observer);
3.我写了一个例子包含了一些简单的操作符,里边不包含线程方面的例子因为我也不太懂
包括:链式语法、RxJava操作符