Observable 사용은
1. 선언
2. 발행
3. 구독
1 -> 2 -> 3 스탭이 있다.
옵저버블 선언후 이를 발행 없이(just와 같은) 구독하면 initialize 오류가 나서 실행되지 않는다.
즉 1 -> 3 -> 2 호출이면 에러가 나는 것이다.
그런데 이런 경우가 설계시 필요할 때가 자주 필요하다.
이 때, 구독과 발행 역할을 동시에 할 수 있고 초기 발행값도 설정할 수 있는 비헤비어 서브젝트를 사용해서 순서를 뒤
집어 구성할 수 있다.
BehaviorSubject 를 선언하고
create() 로 초기화를 하고나면
3 스탭인 구독을 바로 할 수 있다.
여기서 중요한 점은 createDefault로 초기값을 선언해주지 않고 create만 선언해서 1 -> 3 -> 2로 호출한다면,
subscribe 동작도 일어나지 않아 원하는 방향으로 쉽게 설계를 할 수 있다.
(만약 발행값이 없는데도 구독하는 행위가 일어났다면 조금은 불편했을 것인데, 이렇게 되지 않아서 원하는 방향이라고 말한 것)
'Android Dev' 카테고리의 다른 글
app:dataBindingGenBaseClassesDebug (0) | 2020.01.27 |
---|---|
Fragment <-> Fragment로 데이터 주고 받기 / 번들 bundle / 인텐트 intent (0) | 2020.01.05 |
glide에 firestore reference로 이미지 load하기. (0) | 2019.12.30 |
Fused location Provider 정리. (0) | 2019.12.16 |
tools:context (0) | 2019.11.17 |