차가운 Observable은 구독하면 처음부터 데이터를 받습니다.
- 기본 Observable이라고 보시면 됩니다.
- 수동적으로 데이터를 줍니다.
-
뜨거운 Observable은 구독하면 구독한 시점부터 Observable이 주는 데이터를 받습니다.
- 능동적으로 데이터를 줍니다.
● 뜨거운 Observable
<connectableObservable>
기본적으로 ConnectableObservable이 있습니다.
우선 publish()를 통해 Observable을 ConnectableObservable로 변환시켜줘야 합니다.
↓
구독자가 subscribe()를 해도 ConnectableObservable이 connect()를 하지않으면 데이터를 전달되지 않습니다.
↓
connect()이후에 구독자는 데이터를 전달받고 connect()이후에 subscribe()한 구독자는 데이터의 처음부터 받지 않고 subscribe()한 시점부터 받게 됩니다.
<PublishSubject>
Observable과 Observer 모두 구현하고 있는 class입니다.
Observable은 Disposable 객체를 이용하여 따로 observer을 만들어주는 반면,
PublishSubject는 한 객체로 observer을 만들어 줄 수 있습니다.
간단한 예제입니다.
참고:
'안드로이드 > ReactiveX' 카테고리의 다른 글
RxJava - Scheduler 연습 (0) | 2020.03.20 |
---|---|
RxJava - Scheduler (0) | 2020.03.20 |
RxJava 기초 (0) | 2020.03.20 |