Observable은 데이터의 흐름을 관장하는 클래스로써 RxJava에서는 Observable이 절대 빠질 수 없다.
Observable은 데이터의 흐름에 맞게 알림을 보내 구독자가 데이터 처리를 할 수 있도록 만든다.
Observable은 세 가지의 알림을 구독자에게 전달하며 그 종류는 아래와 같다.
RxJava에서는 Observable을 구독하는 Observer가 존재하고, Observable이 순차적으로 발행하는 데이터에 대해서 반응한다. Observable은 다음의 3가지 이벤트를 사용하여 동작한다.
onNext() : 하나의 소스 Observable에서 Observer까지 한 번에 하나씩 순차적으로 데이터를 발행한다.
onComplete() : 데이터 발행이 끝났음을 알리는 완료 이벤트를 Observer에 전달하여 onNext()를 더 호출하지 않음을 나타낸다.
onError() : 오류가 발생했음을 Observer에 전달한다.
위 이벤트들은 Emitter라는 인터페이스에 의해 선언된다.
Emit [imít] 1.방출하다 2.내뿜다 3.발산하다
그리고 데이터나 오류 내용을 발행할 때 null은 발행할 수 없다.