아직 지식이 완전하지 않기 때문에 지금까지의 것들 만으로 정리를 해 보면,
앱간 통신중에 젤 좋은 방법은 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...
-
XE(제로보드) 내 게시판의 첨부용량 변경 ㅁ 개요 ↑ XE 구축시 초기 첨부파일 용량은 2M로 제한되어 있음에 데이터 자료실을 만들기 위해 용량을 명령어를 이용하여 추가 혹은 감소 시키도록 하고자 한다. ㅁ 구현 ↑ 처음 ...
-
일단 ssh 프로그램으로 apm 셋팅을 하려고 했으나 apt-get이 계속 파일 위치를 잡지 못했다. (404 not found....) 그래서 구글링 결과 apt의 리스트 변수 목록을 제거하고 새로 업데이트 하는 명령어를 찾음 :)...
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.