Observable
Observable은 데이터 흐름에 맞게 알림을 보내 구독자가 데이터를 처리할 수 있도록 한다.
Observable은 옵서버 패턴을 구현하며, 리액티브 프로그래밍은 Observable로 시작해서 Observable로 끝난다고 해도 과언이 아니다.
안드로이드에서 버튼을 클릭하면 이벤트를 받을 수 있게 하는 OnClickListener가 대표적인 옵서버 패턴의 예라고 볼 수 있다.
RxJava에서 Observable은 세 가지를 구독자에게 전달한다.
- onNext : Observable이 데이터의 발행을 알린다. 기존의 옵서버 패턴과 같다
- onComplete : 모든 데이터가 발행이 완료되었음을 알린다. 그러므로 더 이상의 onNext는 발생하지 않으며, 마지막에 딱 한 번만 호출된다.
- onError : Observable에서 어떤 이유로 에러가 발생했음을 알린다. onError 이벤트가 발생하면 이후에 onNext 및 onComplete 이벤트가 발생하지 않는다. 즉 Observable의 실행을 종료한다.
Observable 클래스에는 옵저버블 객체를 생성하는 팩토리함수, 중간결과를 처리하는 함수, 디버그 및 예외 처리 함수가 모두 포함되어 있다.
Observable을 생성할 때는 인스턴스를 직접 만들지 않고 정적 팩토리 함수를 호출한다.
팩토리 함수 | 함수 |
RxJava 1.x 기본 팩토리 함수 | create(), just(), from() |
RxJava 2.x 추가 팩토리 함수 | fromArray(), fromIterable(), fromCallable(), fromFuture(), fromPublisher() |
기타 팩토리 함수 | interval(), range(), timer(), defer() 등 |
원문: Observable
https://reactivex.io/documentation/observable.html
'Programming 개발은 구글로 > JAVA[Android]' 카테고리의 다른 글
[RxJava] 4. Observable의 종류 (0) | 2022.05.31 |
---|---|
[RxJava] 1. RxJava 란? (0) | 2022.05.30 |
[RxJava] 6.Scheduler (0) | 2022.05.29 |
[안드로이드] Snackbar Text 세부 설정 및 Max Line 설정 (0) | 2022.05.27 |
[RxJava] 2. Reactive Programming 이란? (0) | 2022.05.26 |
댓글