아직 지식이 완전하지 않기 때문에 지금까지의 것들 만으로 정리를 해 보면,
앱간 통신중에 젤 좋은 방법은 Contents Provider를 이용하는 것 같다.
코드로 치면
mContext.getContentResolver().query( Uri.parse("content://com.android.email.provider/message"),
EmailServiceContent.EmailColumns.every, "mailboxkey in (select _id from Mailbox where type=0)", null, ORDER_BY);
요런 것들.
Email이 CP를 제공하면 해당 내용을 쿼리해서 다 땡겨 올 수가 있다.
임의로 만든 Parcelable한 자료의 경우(자바에선 Serializable) aidl을 이용하는게 좋은데 이건 좀 번거롭다. 패키징을 하거나 패키징을 보내거나 받는 쪽에 코드들이 모두 들어가야 하니까.
뭐 aidl에 간단히
interface IEmailContent {
}
요렇게만 써주면 java 을 gen 폴더에 생성하면서 하위단이랑 통신할 수 있는 부분은 스스로 작성을 해 주긴 하지만 생성된 해당 stub 함수를 또 컨트롤 해 줘야 한다.
그리고 가장 간단한 건. intent를 이용하는 거다. 해당앱이 죽지 않고 백그라운드로 살아 있는 경우에는 AndroidManifest.xml에 등록된 Activity들도 같이 살아 있는 것이다.
mMiniEmailService.startActivity(new Intent(
"android.intent.action.SHROTCUT")
요런식으로 인텐트만 날려서 해당 Activity들을 살려만 주면 해당 앱을 살려낼 수 있다.
뭐 인텐트 날릴 때 인자 넣어주면 것도 통신인데 관련 신호는 간단히 하고 받은 쪽에서
복잡한 코드를 구현하면 또한 좋은 방법이 아닐까 한다.
사실 프로젝트가 커지면 어디서 뭘 구현하든 품질이야 어떻든 빨리만 구현하면 되는거다. 왜냐면 데이트도 하고 게임도 해야 하니까.
다만 앱간 통신에서도 관련 기술을 알고 좀 더 객체지향적으로 생각을 하고 있는게 코드의 중구난방률을 낮출 수 있지 않을까 생각해 본다.
흠... 나름 정리하고 나니까 내가 짠 앱도 다시 보이는군.
핸들러도 있는데 핸들러도 잘 써봐야 할텐데... 흐흐.
피드 구독하기:
댓글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
연휴 마지막날 아침... 산책을 하다 한장 찍어보았다. 인생도 마찬가지로 길의 끝을 모른체 선택을 해야하는 경우가 발생한다. 나중에 그 기준이 바뀔수도 있지만. 지금 기준은 많은 사람이 함께 갈 수 있는 길을 선택하고 싶다.
-
울 하솔이 태어난지 16일째.. 몸무게 1640g.. 먹는 맘마양 30g.. 여전이 feeding tube유지중~ 울 하솔이의 활발했던 모습이 계속 아른거리네. 거기 울 하솔이 봐주시던 간호사쌤이 하는말 들었지?! 코는 엄마 닮은지 알았지만...
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.