[RxAndroid] RxAndroid에 대하여 (1)

2020. 5. 29. 15:34리액티브 프로그래밍/RxAndroid

RxAndroid란?


기존 안드로이드 개발과 비교했을 때 장점

  1. 간단한 코드로 복잡한 병행(concurrency) 프로그래밍 가능
  2. 비동기 구조에서 에러를 다루기 쉬움
  3. 함수형 프로그래밍 기법도 부분적으로 적용 가능

RxAndroid의 구성요소 = RxJava와 같다 

  • Observable : 비즈니스 로직을 이용해 데이터를 발행
  • 구독자 : Observable에서 발행한 데이터를 구독
  • 스케줄러 : 스케줄러를 통해서 Observable, 구독자가 어느 스레드에서 실행될지 결정 가능 

RxAndroid에서 제공하는 스케줄러

  • AndroidSchedulers.mainThread() : 안드로이드 UI 스레드에서 동작하는 스케줄러 
  • HandlerSchedulers.from(handler) : 특정 핸들러에 의존하여 동작하는 스케줄러