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

비동기작업을 수행하는 클래스와 불특정 액티비티간의 정보전달은 어떻게 구현하나요?

0 추천
웹개발만 하다가 안드로이드 공부를 시작하게된 개발 초보자입니다.

현재 http통신을 하는어플을 만들고 있습니다.

각 Activity를 구현했고, http통신을 하는 클래스는 자주 사용하기에 별개의 java파일에 생성했습니다.

문제는 여러 Activity에서 이 클래스를 불러와서 실행했을 때 통신이 성공하거나 실패한 경우 Callback을 어떻게 처리하게 하느냐 입니다.

클래스내의(onPostExecute와 같은 메쏘드에) 파라미터로 액티비티의 Context나 View를 전달하면 UI조작은 가능하겠지만

저는 각 Activity 내의 메쏘드를 실행해야합니다.

이를 위해서는 클래스가 아닌 액티비티에서 콜백메쏘드를 정의해줘야하는데 어떻게 작성해야할지 감이 잡히지 않습니다. 도와주세요!
익명사용자 님이 2017년 1월 11일 질문
Handler나 startActivityforResults와 같은 방식이 먼저 생각나는데, FLAG등을 사용해서 목표가 되는 Activity를 하나하나 지정해줘야하는 문제가 생깁니다. 저는 대부분의 액티비티에서 이 클래스를 사용해야하기에 보류하고 있는데 이를 사용해서 효율적으로 작성하는 법도 있을지 궁금합니다.

1개의 답변

0 추천
 
채택된 답변
BroadcastReceiver를 사용하시면 됩니다.

비동기 작업을 수행하는 곳에서 broadcast를 하도록 구현하시고,

정보를 수신할 Activity에서 BroadcastReceiver를 regist 하여서 정보를 전달 받으시면 됩니다.
Development Guy (70,570 포인트) 님이 2017년 1월 11일 답변
...