RxBus
RxBus의 목적은 background에 있고 아직 destroy 되지 않은 feature 들을 foreground feature에서 업데이트하는 겁니다.
RxJava 이전에는 Otto, EventBus, startActivityForResult 같은 것을 사용하여 다른 fragment (컴포넌트) 등을 업데이트했습니다.
Activity 1, Activity 2, Activity 3, Activity 4 를 차례로 실행합니다. 그러면 마지막 것만 foreground에 있고 나머지 3개는 백그라운드에 있게 되는데 가장 최상위 foreground 에 있는 액티비티의 data와 UI 만 업데이트하고 뒤로 돌아가면 다시 갱신된 데이터로 다시 ui와 데이터를 업데이트해야 합니다.
이럴 경우 RxBus 를 사용하면 편리합니다. RxBus로 Event를 Publish 하고 아무 데서나 Listen 하면 업데이트할 수 있습니다.
RxJava는 Observable 패턴이라는 강력한 도구를 가지고 있기 때문에 다른 Bus 라이브러리들을 사용하지 않아도 됩니다.
위 그림에서 Event를 Action, Event Bus를 Dispatcher로 생각하면 이해가 쉽습니다. Subscriber는 Action을 받는 곳으로, Store 또는 View가 될 수 있습니다.
'Programming 개발은 구글로 > JAVA[Android]' 카테고리의 다른 글
[안드로이드] 적응형 앱아이콘(Adaptive icon) (0) | 2022.05.16 |
---|---|
[안드로이드] HashMap 사용하기 (0) | 2022.05.14 |
[안드로이드] 아키텍쳐 컴포넌트(AAC) - LiveData, Databinding, Room, ViewModel (0) | 2022.05.10 |
Android studio - 한글지원 (0) | 2022.04.27 |
[안드로이드] BottomNavigationView로 하단 바 만들기 (0) | 2022.04.19 |
댓글