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

안드로이드 어플리케이션 간 통신 질문입니다..^^

0 추천
Master App 을 하나 두고

그 밑에 Slave App 들이 존재하게 됩니다.

(이유는 각 앱들이 서버에 접근하지 않고 마스터앱만 서버에 접근해서 각 앱들에게 push 등을 뿌려주기 위함.)

(서버에 등록 등도 MasterApp이 해줍니다.)

 

따라서 SlaveApp 은 MasterApp 이 존재하지 않으면 동작하지 않고

MasterApp에 등록되어 동작하게 됩니다.

 

그렇기 때문에 여러개의 SlaveApp들이 하나의 MasterApp 과 통신하기 위한 Protocol 을 만들어볼까 하는데요

물론 TCP/IP 를 이용한 통신 프로토콜은 아니구요 ^^

 

일일이 Intent 로 연락할 수 있고 또 ContentsProvider 를 이용할 수 있을 것같은데

 

어떤 방식이 합리적이고 편리한 방법이 될지..

혹은 Library를 갖게 하는 방법도 방법이라면 방법일 것 같네요...

 

제가 말단 신입사원이라 아직 생각이나 경험이 부족한 부분이 많기에

이렇게 경력자 형님들께 부탁드립니다..^^

정답은 없겠지만 조금의 조언 해주시면 감사하겠습니다..

시간 나신다면 조금 같이 고민해주시면 정말 너무 감사하겠습니다.!

이상입니다.
윤둥이 (4,560 포인트) 님이 2013년 9월 23일 질문

1개의 답변

+1 추천
 
채택된 답변
 MasterApp을 service 형태로 두고 SlaveApp 에서 binder 로  필요한 프로토콜을 호출해  사용하시면 될 듯 하네요
 
android service와 aidl 에 대해 공부 해보세요.
 
사악미소 (65,330 포인트) 님이 2013년 9월 23일 답변
윤둥이님이 2013년 9월 24일 채택됨
답변 정말 감사합니다

그 부분에 대해서도 고민해봤는데요

그렇다면 service 형태로 둔 비어있는 MasterApp 을  숨길 수 있나요?
아이콘이라면 AndroidManifest.xml 파일에서android.intent.category.LAUNCHER 를 넣지 않으면 나오지 않습니다.
 어플 관리 자 같은 데에서는 보이지만요.
런처를 빼고서 설치하니까 말씀대로 아이콘이 보이지 않게 되는데요
어플리케이션 자체도 실행이 안되는 것 같습니다;;

서비스를 띄우고 노티피케이션으로 확인할 수 있게 하고 런처를 지우고 실행해봤는데 아예 실행이 안되네요..ㅠ
어떤 실행이 안된다는 말씀이신가요? 서비스 실행시 MainApp UI가 보여야 한다는 건가요? 그거라면 intent로 MaubApp UI activity를 호츌해 주시면  MaubApp UI 가 나올 겁니다.(AndroidManifest.xml에 인텐트필터를 넣어주셔야 intent를 제대로 받을 수 있습니다.) 그게 아니라 서비스가 원하는데로 동작안되는 것이라면 서비스 쪽 프로세서에 디버깅을 걸고 확인해보세요, 서비스 동작이 정확하면, 원하는 동작 할 겁니다.
...