RxJavaの基本的な使用

概要 
RxJavaは、非同期操作を実装したライブラリです。それは私たちのハンドラ、AsynTaskを置き換えることができます。


 
RxJava二つの観測(観測されたイベントソース)と加入者(オブザーバー)のコア。 

観測は、一連のイベントを発行し、加入者は、これらのイベントを処理します。 

ゼロ以上のイベントを発行するか、エラーの終了を知ることができる観測可能。各問題には、イベント、それが加入者、最後のコールSubscriber.onNext()またはSubscriber.onError()最後のそのonNextメソッドを呼び出します。 
注:Rxjavaは、モードオブザーバーパターンを設計したいように見えるが、一つのことは大きく異なる、つまり、Observerbleは、加入者のいずれかを持っていない場合、これは観察可能なイベントを発行するつもりはありません。

 

HelloWord 

すべての関連するパッケージの初

'1.2.1:rxandroid io.reactivex' のコンパイル

コンパイル「io.reactivex:rxjava:1.1.6」 


//は、視聴者を定義しています

観測可能な<文字列> myObservable = Observable.create(
新しいObservable.OnSubscribe <文字列>(){
@Override
ます。public voidコール(加入者<?スーパー文字列>サブ){
  //向观察者发出通知                 
sub.onNext( "こんにちは、世界! ");                   
sub.onCompleted();               
    }           
  }       
); 


ここで定義された観察可能なオブジェクトは、ちょうどHello Worldの文字列を送信して、終了しました。

次いで、放出された加入者観測オブジェクトを処理するための文字列を作成します。

 

  // 視聴者は、三つの方法有する      
  加入者のための加入者のための<string> =新しい新しいmySubscriberの<string> (){            
  @Override            
  公共ボイドOnNext(文字列S){ 
  ;のSystem.out.println(S)
  }                   
  @Override            
  OnCompleted公共ボイド(){}を   
                 
   @Override            
   公共ボイドのonError(ThrowableのE)を{}};    
 
//は、観察者との間の関係を作成し、生成することが観察され  myObservable.subscribe(mySubscriber)を、

 myObservableオブジェクトは// onNextとonCompleteの方法を購読、mySubscriberはHello Worldのプリントアウトされます後mySubscriberを呼び出すことです! 

HelloWord簡素化 

// RxJavaは、作成観測対象は、そのようなObservable.justを簡素化するための機能の多くを建てのみ発行作成します 

1行に減らすことができる観察可能なオブジェクトを終了する//イベント 

観測可能な<文字列> myObservable = Observable.just( "こんにちは、世界!"); 

//、我々は実際にonCompleteのとONERRORを気にしない、のは、上記の例では、加入者を簡単にする方法を見てみましょう

//は私たちがアクション1クラスを使用することができますonNext時間、今回いくつかの処理を行う必要があります。 

  アクション1の<string> onNextAction =新しいアクション1の<string> (){ 
   @Override            
   公共ボイドコール(文字列S){                
   System.out.printlnは(S);           
       }        
   }。  
 

この方法は、パラメータの3種類それぞれOnNext、onCompleteの、ONERROR受信機能を過負荷解放、アクション1を有するサブスクライブ。 

// 
 myObservable.subscribe(onNextAction);       
 //は、さらに全体の簡素化することができ          
 Observable.just( "こんにちは、World!"という)         
 .Subscribe(アクション1新しい新しい<文字列> (){                
 @Override                
 ます。public voidコール(文字列S){  システム.out.println(S);  }  })。 
 
 

 

おすすめ

転載: www.cnblogs.com/yanglanwan/p/11291557.html
おすすめ