RxJava学习之旅:
1.compile 'io.reactivex.rxjava2:rxjava:2.0.1':rxjava2版本,rxjava1的升级版
compile 'io.reactivex:rxjava:1.1.5':rxjava1版本
引用compile'io.reactivex.rxjava2:rxandroid:2.0.1'时需要同时引用compile 'io.reactivex.rxjava2:rxjava:2.0.1'
因为rxandroid依赖rxjava
2.rxjava版本与rxjava2版本不能共存,即compile 'io.reactivex.rxjava2:rxjava:2.0.1' 与 compile 'io.reactivex:rxjava:1.1.5'不能同时存在
3.rxjava1的写法:
Observable.create(new Observable.OnSubscribe<T>(){
@Override
public void call(Subscriber<? super T> subscriber){
subscriber.onNext("haha");
subscriber.onCompleted();
}
}).subscribe(new Action1<String>(){
@Override
public void call(String s){
System.out.println(s);
}
});
rxjava2的写法:
Observable.create(new ObservableOnSubscribe<T>(){
@Override
public void subscribe(@NonNull ObervableEmitter<T> e)throws Exception{
e.onNext("haha");
e.onComplete();
}
}).subscribe(new Consumer<String>(){
@Override
public void accept(@Nonnull String s) throws Exception{
System.out.println(s);
}
});
4、ActionN和FuncN改名
rxjava1的Action0改名为rxjava2的Action
rxjava1的Action1改名为rxjava2的Consumer
rxjava1的Action2改名为rxjava2的BiConsumer
rxjava1的Action3-Action9不再使用
rxjava1的ActionN改为rxjava2的Consumer<Object[]>
rxjava1的Func改名为rxjava2的Function
rxjava1的Func2改名为rxjava2的BiFunction
rxjava1的Func3-Func9改名为rxjava2的Function3-Function9
rxjava1的FuncN改名为rxjava2的Function<Object[],R>
5、rxjava1的写法:
Scheduler.Worker worker = AndroidSchedulers.mainThread().createWorker();
worker.schedule(new Action0(){
@Override
public void call(){
callback.onStart();
}
});
rxjava2的写法:
Scheduler.Worker worker = AndroidSchedulers.mainThread().createWorker();
worker.schedule(new Runnable(){
@Override
public void run(){
callback.onStart();
});
1.compile 'io.reactivex.rxjava2:rxjava:2.0.1':rxjava2版本,rxjava1的升级版
compile 'io.reactivex:rxjava:1.1.5':rxjava1版本
引用compile'io.reactivex.rxjava2:rxandroid:2.0.1'时需要同时引用compile 'io.reactivex.rxjava2:rxjava:2.0.1'
因为rxandroid依赖rxjava
2.rxjava版本与rxjava2版本不能共存,即compile 'io.reactivex.rxjava2:rxjava:2.0.1' 与 compile 'io.reactivex:rxjava:1.1.5'不能同时存在
3.rxjava1的写法:
Observable.create(new Observable.OnSubscribe<T>(){
@Override
public void call(Subscriber<? super T> subscriber){
subscriber.onNext("haha");
subscriber.onCompleted();
}
}).subscribe(new Action1<String>(){
@Override
public void call(String s){
System.out.println(s);
}
});
rxjava2的写法:
Observable.create(new ObservableOnSubscribe<T>(){
@Override
public void subscribe(@NonNull ObervableEmitter<T> e)throws Exception{
e.onNext("haha");
e.onComplete();
}
}).subscribe(new Consumer<String>(){
@Override
public void accept(@Nonnull String s) throws Exception{
System.out.println(s);
}
});
4、ActionN和FuncN改名
rxjava1的Action0改名为rxjava2的Action
rxjava1的Action1改名为rxjava2的Consumer
rxjava1的Action2改名为rxjava2的BiConsumer
rxjava1的Action3-Action9不再使用
rxjava1的ActionN改为rxjava2的Consumer<Object[]>
rxjava1的Func改名为rxjava2的Function
rxjava1的Func2改名为rxjava2的BiFunction
rxjava1的Func3-Func9改名为rxjava2的Function3-Function9
rxjava1的FuncN改名为rxjava2的Function<Object[],R>
5、rxjava1的写法:
Scheduler.Worker worker = AndroidSchedulers.mainThread().createWorker();
worker.schedule(new Action0(){
@Override
public void call(){
callback.onStart();
}
});
rxjava2的写法:
Scheduler.Worker worker = AndroidSchedulers.mainThread().createWorker();
worker.schedule(new Runnable(){
@Override
public void run(){
callback.onStart();
});