본문 바로가기

Rx

(12)
RxKotlin- Part 3. Observable 생성 (fromFuture, fromPublisher) fromFuture() fromFuture() 연산자는 Future Interface를 지원하는 모든 객체를 ObservableSource로 변환하고 Future.get() 메서드를 호출한 값을 반환한다. 이 Future Interface는 비동기적인 작업의 결과를 구하는 경우에 사용되는데, 주로 Executor Serviece를 통하여 비동기작업을 할시에 사용된다. Emitter는 Observable 내부에서 Future.get() 메서드를 호출시키고, Future의 작업을 마칠 때까지 블로킹된다. ​ Executor Serviece Executors는 ExecutorService 객체를 생성하며, 다음 메소드를 제공하여 쓰레드 풀의 개수 및 종류를 정할 수 있으며, Executor 인터페이스를 구현한..
RxKotlin- Part 2. Observable 생성 (fromArray(), fromIterable()) 배열, 리스트 등의 자료구조와 Callable, Publisher, Future 등은 From...() 함수를 통해 Observale을 생성할 수 있다. ​ fromArray() 배열을 Observable 변환하기 위해 사용하며, 아이템을 순차적으로 발행한다. fun main(){ var items = arrayOf(100, 200, 300) items.toObservable().subscribe( { println("${it}") }, { println("onError") }, // onError: Consumer { println("onComplete") }, // onComplete: Consumer { println("onSubscribe") } // onSubscribe: Consumer ) O..
RxKotlin - Part 1. Observable 생성 - just(), onCreate() 생산자와 소비자 생산자 : 데이터를 생산하고 발행하는 역할 소비자 : 데이터를 사용하는 주체로, 등록 방법은 크게 Observer, Consumer 방식이 존재한다. ​ ☞ Observer 방식 : Observer 인터페이스를 구현한 객체를 subscribe()을 이용해 소비자를 추가한다.(return type - Unit) // Observer 방식 val observer = object : Observer{ override fun onSubscribe(p0: Disposable) { print("onSubscribe ") } override fun onNext(p0: Int) { print("onNext:${p0} ") } override fun onError(p0: Throwable) { print..
RxJava, RxKotlin, RxAndroid 이해하기 Rx..., Reactive... 란 Reactive Programming : 비동기적 데이터 흐름을 처리하는 프로그래밍 패러다임, 핵심은 모든 데이터의 흐름을 비동기적인 데이터의 Stream으로 간주해 처리하며, Observer 디자인 패턴을 활용해서 비동기 이벤트를 처리하는 것이다, 즉 환경이나 데이터가 변하면 이벤트를 받아 동작하도록 만드는 프로그래밍 기법 ​ ReactiveX : 관찰 가능한(Observable) 스트림을 사용하는 비동기 프로그래밍을 위한 API ​ RxJava : ReactiveX(Reactive Extensions)를 Java로 구현한 라이브러리 RxKotlin : Kotlin을 위한 ReactiveX(Reactive Extensions) ​ RxAndroid : RxJava를..