RxJava (14) 썸네일형 리스트형 [RxJava] 데이터 집계 연산자 안녕하세요. 메로나입니다. 오늘은 데이터 집계 연산자에 대해 공부하겠습니다. countObservable이 통지한 데이터의 총개수를 통지합니다.public static void main(String[] args) { Observable.just(1, 3, 5, 7, 9) .count() .subscribe(System.out::println); }// 출력5 reduceObservable이 통지한 데이터를 이용해서 어떤 결과를 일정한 방식으로 합성한 후, 최종 결과를 반환합니다.Observable이 통지한 데이터가 숫자일 경우 파라미터로 지정한 함수형 인터페이스에 정의된 계산 방식으로 값을 집계할 수 있습니다. public stati.. [RxJava] 조건과 불린 연산자 안녕하세요. 메로나입니다. 오늘은 조건관 불린 연산자에 대해 공부하겠습니다. all통지된 데이터가 조건에 맞지 않는다면 이후 데이터는 구독 해지합니다.통지된 모든 데이터를 설정한 조건에 맞는지를 판단합니다.public static void main(String[] args) { Observable.just(11, 1, 2, 3, 4, 5) .doOnNext(num -> System.out.println("Number: " + num)) .all(num -> num > 10) .subscribe(System.out::println); }// 출력Number: 11Number: 1false // 이후 구독이 해.. [RxJava] 유틸리티 연산자 안녕하세요. 메로나입니다. 오늘은 유틸리티 연산자에 대해 공부하겠습니다. Delay생산자가 데이터를 생성 및 통지를 하지만 설정한 시간만큼 소비자 쪽으로의 데이터 전달 지연시킵니다.소비자로 데이터를 통지할 때마다 설정한 시간만큼 지연시킬 수도 있습니다.// 유형 1public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS", Locale.getDefault()); Observable.just(1, 2, 3, 4, 5) .doOnNext(item -> { String currentTime = sdf.for.. [RxJava] 에러 처리 연산자 안녕하세요. 메로나입니다. 오늘은 RxJava에서 에러를 처리하기 위한 연산자를 공부하겠습니다. try ~ catch를 사용하면 되는 거 아닌가?라는 생각을 했지만, RxJava에서는 try ~ catch 사용을 하면 Exception이 나기 때문에 에러 처리 연산자가 따로 있다고 한다.. 흠..onErrorReturn에러가 발생했을 때 에러를 의미하는 데이터로 대체 가능onErrorReturn()을 호출하면 onError 이벤트는 발생하지 않음 onErrorResumeNext에러가 발생했을 때 에러를 의미하는 Observable로 대체 가능Observable로 대체할 수 있으므로 데이터 교체와 더불어 에러 처리를 위한 추가 작업을 할 수 있음. retry데이터 통지 중 에러가 발생했을 때, 데이터 통지.. [RxJava] 데이터 결합 연산자 안녕하세요. 메로나입니다. 오늘은 RxJava 함수 중 데이터 결합 연산자에 대해 공부하겠습니다. merge통지 시점이 빠른 Observable의 데이터부터 순차적으로 통지되고, 통지 시점이 같을 경우 merge() 함수의 파라미터로 먼저 지정된 Observable의 데이터부터 통지합니다. public static void main(String[] args) { Observable observable1 = Observable.interval(200L, TimeUnit.MILLISECONDS) .take(5); // 5개만 발행 Observable observable2 = Observable.interval(400L, TimeUnit.MILLI.. [RxJava] RxJava 퀴즈 문제 안녕하세요. 메로나입니다. 오늘은 RxJava 강의 들은 것을 퀴즈를 통해 복습하겠습니다. 1. range, filter, map을 이용하여 1부터 15까지 숫자 중에 2의 배수만 필터링한 후, 필터링된 숫자에 제곱한 숫자를 출력하세요.public static void main(String[] args) { Observable numbers = Observable.range(1, 15); numbers.filter(num -> num % 2 == 0) .map(num -> num * num) .subscribe(System.out::println); } // 출력4163664100144196 2. range, fla.. [RxJava] 데이터 변환 연산자 안녕하세요. 메로나입니다. 오늘은 데이터 변환 연산자에 대해 공부하겠습니다. map원본 Observable에서 통지하는 데이터를 원하는 값으로 변환 후 통지합니다.변환 전, 후 타입이 달라도 상관없습니다. (int -> String)null을 반환하면 NullpointException이 발생하므로 null이 아닌 데이터 하나를 반드시 반환해야 합니다.public static void main(String[] args) { Observable numbers = Observable.just(1, 2, 3, 4, 5, 6); numbers.map(num -> num * 10) .subscribe(System.out::println); } // 출력.. [RxJava] 데이터 필터링 연산자 안녕하세요. 메로나입니다. 오늘은 데이터 필터링 연산자에 대해 공부하겠습니다. filter 연산자는 무엇인가?전달받은 데이터가 조건에 맞는지 확인한 후, 결과가 true인 데이터만 통지합니다.filter라는 단어의 사전적 의미가 무언가를 걸러낸다는 의미입니다.@SuppressLint("CheckResult") public static void main(String[] args) { Observable numbers = Observable.just(1, 2, 3, 4, 5, 6); numbers.filter(num -> num % 2 == 0) .subscribe(System.out::println); }// 출력246 distinct 연산자는.. 이전 1 2 다음