[android] RxJava 연습

[android] RxJava 연습

RxJava가 편하다고 말만듣고 해야지해야지 하다가 어려워 보여서 안하고 있었는데, 써보니 편한 게 많다.

글로만 읽었을 땐 이해가 안됐는데, 직접 해보니 감이 오더라.

 

읽어보면 도움되는 곳

 

 

정렬

 

 

 

first, last, take, takeLast

처음과 마지막을 가져오는 first(), last() 가 있는데, 빈 배열일 때 호출하면 오류가 난다.

 

first 대신 take(1), last 대신 takeLast(1)을 쓰거나, subscribe에 onError, onCompleted 를 적어주면 된다.

 

 

flatmap

ruby의 flatten 같은 느낌인데, 변환과정에서 배열로 리턴된걸 다시 observable로 만들어 준다.

 

 

비동기

그냥 이렇게 하면 일반적인 동작을 한다.

 

subscribeOn(Schedulers.newthread()) 를 달아주면 비동기로 호출이 된다.

 

 

observeOn

만약 비동기 혹은 다른 이유로 뷰를 건들일 때

라는 에러가 나면

를 붙여주면 된다.

 

 

================ 여기서 부터는 RxJava 2.x 로 작성됨 ============

groupBy

배열에서 고유한 값만 가져오고 있을 때 사용하면 좋다. 특히 날짜별로 정렬할 때 사용하면 아주 편하다.