RxJava基础知识
一、引入依赖
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.7'
二、转换操作符
2.1 create
private void testCrate() {
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(@NonNull ObservableEmitter<String> emitter) throws Exception {
emitter.onNext("first");
emitter.onComplete();
}
}).subscribe(new Observer<String>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.d(TAG,"onSubscribe " + d);
}
@Override
public void onNext(@NonNull String o) {
Log.d(TAG,"onSubscribe " + o);
}
@Override
public void onError(@NonNull Throwable e) {
Log.d(TAG,"onError " + e);
}
@Override
public void onComplete() {
Log.d(TAG,"onComplete ");
}
});
}
输出结果
2022-08-13 20:41:05.253 12124-12124/com.yhcode.rxjava D/MainActivity: onSubscribe CreateEmitter{null}
2022-08-13 20:41:05.255 12124-12124/com.yhcode.rxjava D/MainActivity: onSubscribe first
2022-08-13 20:41:05.255 12124-12124/com.yhcode.rxjava D/MainActivity: onComplete
2.2 just
just 1-10个参数,内部调用的是fromArray方法
private void testJust() {
Observable.just("first","second","third").subscribe(new Observer<String>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.d(TAG,"onSubscribe");
}
@Override
public void onNext(@NonNull String s) {
Log.d(TAG,"onNext:" + s);
}
@Override
public void onError(@NonNull Throwable e) {
Log.d(TAG,"onError:" + e);
}
@Override
public void onComplete() {
Log.