RxJava学习

来源:互联网 发布:网络于洗白是什么意思 编辑:程序博客网 时间:2024/05/16 05:34
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();
   });
原创粉丝点击