DOI QR코드

DOI QR Code

안드로이드 플랫폼에서 애플리케이션 간 객체 전송을 개선하기 위한 메타서비스의 설계 및 구현

Design and Implementation of a MetaService for Improving Object Transfer among Applications on Android Platform

  • 최화영 (한국외국어대학교 정보통신공학과) ;
  • 박상원 (한국외국어대학교 정보통신공학과)
  • 투고 : 2011.06.24
  • 심사 : 2011.08.13
  • 발행 : 2011.10.31

초록

최근 안드로이드 기반의 스마트 폰이 널리 사용되고 있으며, 이를 이용한 다양한 응용이 개발중이다. 그 중 한 애플리케이션에서 생성한 데이터를 다른 애플리케이션으로 전달하는 경우가 빈번하게 발생한다. 그러므로 한 애플리케이션에서 발생하는 메타데이터를 다른 애플리케이션으로 쉽게 전달하거나 공유할 수 있는 방법이 필요하다. 안드로이드에서 애플리케이션이 생성한 메타데이터는 Java 객체로 만들어진다. 안드로이드에서 기존의 데이터 전달 방법으로는 클립보드와 인텐트 그리고 컨텐트 프로바이더가 있다. 하지만 이 방법들은 모두 레코드 형태로 데이터를 전달하도록 되어 있다. 그러므로 개발자는 객체를 전달하기 위해 마샬링과 언마샬링하는 과정을 직접 구현해야 한다. 본 논문에서는 애플리케이션에서 만든 임의의 타입의 객체를 전송할 수 있는 메타서비스를 설계하고 구현하였다. 메타서비스를 이용할 경우 클립보드와 컨텐트 프로바이더에서 객체를 전송하기 위해 구현해야하는 복잡한 과정을 줄여서 버그를 줄이고 코드를 간단히 작성할 수 있도록 하여 생산성을 증진 시킬 수 있도록 하였다.

Recently, smart phones based on Android platform have been widely used, and lots of applications have been developed. Data generated from an application are frequently transferred to other applications. Therefore, a method that can easily transfer or share meta-data among applications is required. Generally meta-data created by android applications are java objects. The android platform uses clipboard, intent and content provider in order to transfer data among the applications. However, those ways are designed to transfer data as a record. So these methods have to marshall the object to a record and unmarshall the record to an object. In this paper, we designed and implemented the MetaService which can transfer any type of object made by applications. When the MetaService is used, we can reduce complex implementations such as clipboards and content providers and we can reduce many bugs. Therefore, we can make the applications simple and increase productivity.

키워드

참고문헌

  1. M. Raento, A Oulasvita, R. Petit, H. Toivonen, "ContextPhone: A Prototyping Platform for Context-Aware Mobile Applications", IEEE Pervasive Computing, Vol.4, No.2, pp.51-59, 2005. https://doi.org/10.1109/MPRV.2005.29
  2. J. H. Hong, S. I. Yang, S. B Cho, "A Context-aware Messenger for Sharing User Contextual Information", Journal of KIISE : Computing Practices and Letters, Vol.14, No.9, pp.906-910, Aug., 2007(in Korean).
  3. A. Krause, et al., "Context-Aware Mobile Computing: Learning Context-Dependent Personal Preferences from a Wearable Sensor Array", IEEE Transactions on Mobile Computing, Vol.5, No.2, Feb., 2006.
  4. A. KEN, G. JAMES, H DAVID, Java Programming Language Forth Edition "java.rmi-Remote Method Invocation", Addison-Wesley, 2008.
  5. C. Nester, M. Philippsen, B. Haumacher, "A more efficient RMI for Java", In Proceedings of the ACM Java Grande Conference, pp.152-159, 1999.
  6. "Common Object Request Broker Architecture (CORBA) Specification, OMG, Ver.3.1, Jan., 2008.
  7. Box D., "Essential COM", Addison-Wesley Professional, 1997.
  8. ClipboardManager, Android Developers: http://developer. android.com/reference/android/content/ClipboardManager. html
  9. Sayed Hashimi, Satya Komatineni, Pro Android 2 "intent", Apress, 2010.
  10. Sayed Hashimi, Satya Komatineni, Pro Android 2 "Content Provider", Apress, 2010.
  11. ClipData, Android Developers: http://developer.android.com /reference/android/content/ClipData.html
  12. Agarwal, S., Starobinski, D., Trachtenberg, A., On the Scalability of Data Synchronization Protocols for PDAs and Mobile Devices, IEEE Network, Vol.16, 2002. 8.
  13. Byung-Gon Chun, Petros Maniatis, Intel Research Berkeley, Augmented smartphone applications through clone cloud execution, HotOS'09 Proceedings of the 12th conference on Hot topics in operating systems, 2009.
  14. Joonmyung Kang, Takkyun Ko, Sinseok Seo, Baekjae Sung, John Strassner, Jong Kim, Chanik Park, James Wonki Hong, Smart Mobile Platform for Supporting Context-aware Services, Journal of KIISE Vol.28 No.5, May, 2010.
  15. 신수원, 최윤석, 정기원, "모바일 C 기반의 GVM 응용프로그램 을 Java 기반으로 변환하는 process", 한국정보과학회 학회지, 제29권, 제2호, 2002.
  16. 손윤식, 오세만, 이양선, "소스 레벨 콘텐츠 변환기를 이용한 GNEX C-to-Android Java 변환기의 설계 및 구현", 멀티미디 어학회논문지, 제13권, 제7호, 2010년 7월.
  17. AIDL(Android Interface Definition Language) http:// developer.android.com/guide/developing/tools/aidl.html
  18. Jerome Dimarzio, Android A Programmer's Guide, MC Graw Hill
  19. Android Serializable, Android Developers: http://developer. android.com/reference/java/io/Serializable.html
  20. Ken Arnold, James Gosling, David Holmes, The Java Programming Language, Fourth Edition
  21. Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, Sang Lim, "Object serialization for marshalling data in a Java interface to MPI", JAVA'99, 1999.
  22. 박성환, 장주연, 서영주, 박원주, 박상원, "플래시 변환 계층에 대한 TPC-C 벤치마크를 통한 성능 분석", 정보과학회 논문지 : 컴퓨팅의 실제, 제13권, 제4호, 2008년 4월.