Prologue

참고로 해당 글에서 사용되는 코드는 뱅크 샐러드 기술 블로그를 참고하여 작성한 코드입니다.

Android 앱을 사용하다 보면 Back Button 클릭 시, 바로 종료되는 경우도 있고 토스트 메시지를 보여주는 경우도 있다. 사실, 토스트 메시지를 통해 사용자들에게 알려주는 게 더 낫다고 생각하며, 이 기능을 구현하는 방법에 대해 알아보려고 한다.

Continue reading

[RxJava] Subject

in Android

Prologue

Android 앱을 사용하다보면 Back Button을 클릭했을 때, 바로 앱이 종료되는 경우와 토스트 메세지가 보여지는 경우가 있다. 이때, Back Button 처리를 위해 RxJava의 Subject를 활용하는 방법을 알아보기 위해 Subject에 대해 먼저 알아보려고 한다.

Continue reading

디버깅

코딩하는 도중에 로그를 넣는 이유는 잘못되었을 때를 대처하기 위함이다. 하지만 RxJava 코드는 로그를 넣을 수 있는 공간이 없다. Observable로 시작하는 업스트림(upstream)과 그것을 받아서 처리하는 다운스트림(downstream)이 동일한 문장으로 이루어져 있기 때문이다. 즉, 전체 동작을 선언적으로 만들 수 있으므로 전체 맥락에 대한 가독성은 높아지지만 예외 코드를 어떻게 넣어야 하는지에 대한 어려움이 있다.

Continue reading

지금까지 공부했던 예제의 공통점은 대부분의 동작이 현재 즉, main 스레드에서 동작한다는 것이었다. 하지만, 실무에서는 요구사항에 맞게 비동기로 동작할 수 있도록 이를 바꿔야 한다. 이때 스케줄러를 이용한다.

Continue reading

조건 연산자

조건 연산자는 Observable의 흐름을 제어하는 역할을 한다. filter 연산자가 발행된 값을 채택하느냐 기각하느냐 여부에 초점을 맞춘다면, 조건 연산자는 지금까지의 흐름을 어떻게 제어할 것인지에 초점을 맞춘다.

Continue reading

결합 연산자

생성 연산자와 변환 연산자는 1개의 데이터 흐름(Observable)을 다뤘다. 결합 연산자는 다수의 Observable을 하나로 합하는 방법을 제공한다. flatMap(), groupBy() 함수 등은 1개의 Observable을 확장해주는 반면, 결합 연산자들은 여러 개의 Observable을 내가 원하는 Observable로 결합해준다.

Continue reading

변환 연산자

위에서 데이터 흐름(Observable)을 만들어내는 생성 연산자를 보았다면 이번에는 데이터 흐름을 원하는대로 변형할 수 있는 변환 연산자를 알아보자.

Continue reading
Author's picture

VictoryWoo

기록을 통해 사람들과 공유하는 것을 좋아합니다.


Android Developer