출처 : http://chuumong.tistory.com/entry/RxJava-%EC%A0%95%EB%A6%AC


RxJava Class

  • Observable : 이벤트를 발생시키는 주체, onNext / onCompleted / onError를 이용하여 이벤트를 발생 시킴
  • Subscriber : 이벤트를 전달받는 객체
  • PublishSubject : 구독한 시점으로 부터(subscribe 호출) 발생되는 이벤트(onNext, onError, onCompleted)를 전달 받음
  • BehaviorSubject : 구독 전 (subscribe 호출 전) 발생된 이벤트가 한 건이라도 있으면 구독 시점에 해당 이벤트(한 건만)를 전달 받음
  • CompositeSubscription : Subscriber를 그룹화 함, add로 Subscriber를 추가하며 clear로 unsubscribe 처리

Observable Method

  • just : 인자로 전달 받은 객체를 그냥 단순하게 subscribe onNext에 전달
  • from : List에 저장된 Item을 하나씩 전달
  • flatMap(Func1) : T를 매개변수로 전달받아 R로 리턴
    T는 ? super T
    R은 ? extends Observable<? extends R>
    인자로 전달 받은 T를 다시 Observable로 포장하여 리턴 처리
    관찰하고 있는 이벤트를 변형
  • concanMap : flatMap과 유사, flatMap은 결과 처리의 순서를 신경쓰지 않는 반면에 concanMap는 이벤트의 처리 결과가 순서대로 출력 (참조)
  • filter : return이 true 일 때 이벤트 발생
  • zip(Observable, Observable, Func2) : Observable 마지막 인자인 Func2로 값을 조합하여 넘김
    각 인자는 Observable<? extends T1>, Observable<? extends T2>, Func2<? super T1,? super T2,? extends R>로 구성이 되어지며 T1과 T2를 조합하여 새로운 R을 생성
  • buffer : 지정된 시간동안 발생한 이벤트를 List로 저장하고 있다가 이벤트를 발생 시킴
  • buffer(Observable boundary) : 발생한 데이터를 저장하고 있다가 boundary에 지정된 시간이 지나면 이벤트를 발생 시킴
  • debounce : 이벤트 발생 종료 후 지정된 시간동안 이벤트가 발생하지 않으면 이벤트를 발생 시킴
  • asObservable : Observable 객체를 전달 받음
  • skip(int) : int로 지정된 개수 만큼의 이벤트를 무시하고 그 이후의 이벤트만 발생시킴
  • combineLatest(Observable<? extends T1>, Observable<? extends T2>, Func2<? super T1, ? super T2, ? extends R>) : 모든 Observable에서 이벤트가 발생되면 Func2로 전달하여 이벤트를 처리하고 새로운 이벤트를 발생 시킴
  • merge : 다수의 Observable를 병합하여 이벤트가 발생 된 순서대로 이벤트를 전달, 한 Observable에서 error가 발생하면 다른 Observable에서 발생된 이벤트는 전달하지 않음
  • timer : 지정된 시간만큼 이벤트 전달을 딜레이 시킴
  • interval : 이벤트를 반복하여 발생 시키지만 지정된 시간동안 딜레이 시킴
  • interval(long, long, TimeUnit) : 최초 첫번째 인자 값 만큼 시간을 딜레이시키고 그 이후에는 2번째 인자에 지정된 시간 만큼 딜레이 시킴
  • take : 인자로 지정된 개수 만큼 이벤트를 발생 시키고 그 이후 이벤트는 발생시키지 않음(onCompleted 발생)
    interval과 같이 사용하면 지정된 시간만큼 해당 이벤트를 반복하여 발생시키지만 take로 지정된 개수만 발생
  • retryWhen : onError 이벤트가 발생하게되면 지정된 시간만큼 딜레이 시킨 뒤 재시도
  • defer : subscribe가 호출 되는 순간 인자로 지정된 Func이 실행되고 리턴 받은 Observable의 이벤트를 전달


'Android > RXAndroid' 카테고리의 다른 글

RxJava 예제  (0) 2017.01.31
RxView 예제 모음  (0) 2017.01.07
Easy SQLite on Android with RxJava  (0) 2016.12.16
RXAndroid 기초 설명(영문)  (0) 2016.12.15
RxJava – PublishSubject, BehaviorSubject, ReplaySubject  (0) 2016.12.15

+ Recent posts