마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

class간 데이터 전달은 무엇을 쓰는게 좋을까요?

0 추천
안녕하세요, 안드로이드 초보 개발자입니다.

Service 객체가 하나 있습니다. 얘가 상태 관리를 합니다. 그리고 상태가 변경될때마다 다른앱과 앱내 다른 class에 알려줘야 합니다.

예를들어 Service에서 상태가 변경되었다면.

현재 떠있는 다이얼로그팝업, 현재 떠있는 노티피케이션 같은것들이 그걸 알고 화면을 갱신해야합니다.

(다른앱엔 브로드캐스트로 전달할 예정입니다.)

이런 처리를 해야할때는 어떤 방식으로 하는게 좋을까요?

조언 부탁드립니다.
블랙이요블랙 (12,860 포인트) 님이 2018년 6월 25일 질문

3개의 답변

+1 추천
 
채택된 답변
유명한 디자인패턴중에 Observer 패턴이라고 있습니다.

(정보의 변화를 알고 싶은 사람이 정보를 관리하는 객체에 사전에 정보가 변경되면 알려달라고 요청합니다.)

이런 상황에 주로 쓰입니다.
디자이너정 (42,810 포인트) 님이 2018년 6월 25일 답변
블랙이요블랙님이 2018년 6월 27일 채택됨
+1 추천

보통 eventBus 를 사용합니다.

익명사용자 님이 2018년 6월 26일 답변
+1 추천
Service가 별도 프로세스로 동작하게 세팅하였다면, Broadcast 밖에 전달할 방법은 없을 겁니다.

그러나 앱과 동일한 Process로 동작하면 Observer도 좋습니다. Otto는 사용해 보지 않아서...

별도 프로세스로 동작하게 세팅안했으면 하나의 프로세스로 동작합니다.
Will Kim (43,170 포인트) 님이 2018년 6월 26일 답변
Service로 동작 될 경우  Binder callback(http://bean-and-yu.tistory.com/73) 을 통해, 전달하는 것도  가능은 합니다..
...