RxJava

xiaoxiao2021-02-28  105

一、创建 Observable, Observer ,建立连接observable.subscribe(observer); 1、添加依赖 compile 'io.reactivex.rxjava2:rxjava:2.0.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' private String TAG="MainActivity"; @Override protected void  onCreate ( Bundle savedInstanceState ) {     super. onCreate ( savedInstanceState ) ;     setContentView ( R.layout . activity_main ) ;     Observable < Integer observable = Observable . create ( new  ObservableOnSubscribe < Integer > () {         @Override         public void  subscribe ( ObservableEmitter < Integer e throws  Exception  {             e . onNext ( 1 ) ;             e . onNext ( 2 ) ;             e . onNext ( 3 ) ;             e . onComplete () ;         }     }) ;     Observer  observer =new  Observer () {         @Override         public void  onSubscribe ( Disposable d ) {             Log . e (TAG , "onSubscribe" ) ;         }         @Override         public void  onNext ( Object value ) {             Log . e (TAG , "value:--" + value ) ;         }         @Override         public void  onError ( Throwable e ) {         }         @Override         public void  onComplete () {             Log . e (TAG , "onComplete" ) ;         }     } ;     observable . subscribe (observer) ; } 二、执行顺序 08-06 10:17:54.468 14600-14600/chzy.org.rxjava E/MainActivity: onSubscribe 08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: value:--1 08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: value:--2 08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: value:--3 08-06 10:17:54.469 14600-14600/chzy.org.rxjava E/MainActivity: onComplete 三、链式 Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(ObservableEmitter<Integer> e) throws Exception { e.onNext(1); e.onNext(2); e.onNext(3); e.onComplete(); } }) .subscribe(new Observer<Integer>() { @Override public void onSubscribe(Disposable d) { Log.e(TAG,"onSubscribe"); } @Override public void onNext(Integer value) { Log.e(TAG,"value:--"+value); } @Override public void onError(Throwable e) { Log.e(TAG,"onError"); } @Override public void onComplete() { Log.e(TAG,"onComplete"); } });
转载请注明原文地址: https://www.6miu.com/read-44207.html

最新回复(0)