자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi XE5 안드로이드에서 Usb Accessory 가능?
2013.10.09 18:58
안드로이드 디바이스에 USB Accessory를 이용하여 외부 장치와 통신을 하고자 하는데
XE5 안드로이드에서는 어떻게 사용할수 있나요?
Delphi XE5 안드로이드에서 Usb Accessory 가능?
2013.10.09 18:58
안드로이드 디바이스에 USB Accessory를 이용하여 외부 장치와 통신을 하고자 하는데
XE5 안드로이드에서는 어떻게 사용할수 있나요?
저도 모바일 앱 개발자가 아니어서 자료를 검색하여 올립니다.
USB host 와 액세서리 모드에 대한 지원은 플랫폼의 level 과는 관계없이 궁극적으로는 하드웨어의 지원에 따라 결정되기 때문에 델파이에서 안드로이드 개발시에도 동일하게 작업하시면 될것 같습니다.
APIs 선택
USB 액세서리 API는 안드로이드 3.1에서 소개되었고 안드로이드 2.3.4에서는 Google APIs add-on library를 통해 사용할 수 있다. 이 API는 외부 라이브러리로서 제공되므로 액세서리 모드를 지원하기 위해서는 2개의 package를 import 할 수 있다. 이 것은 안드로이드 장비의 지원에 따라 선택적으로 import 합니다. 단 델파이에서는 안드로이드 4.0 이상을 지원합니다.
com.android.future.usb
Android 2.3.4 진저브레이드 (Google APIs add-on library)
Android 3.1 이상
안드로이드 3.1에서도 이 패키지로 구현된 앱을 지원하기 위해 android.hardware.usb 패키지를 wrapper 하여 지원한다. 만약 폭넓게 지원하는 앱을 만들고 싶다면 이 패키지를 사용하여 구현하는 것이 좋다. 그러나 한가지 염두해둬야 하는 것은 모든 안드로이드 2.3.4의 장비가 이 패키지를 지원하는 것은 아니라는 것이다.이것의 지원 여부는 전적으로 제조사의 결정에 의하며 개발자는 매니페스트의 <use-feature> 를 통해 필터링해야 한다.
이 패키지를 사용하여 개발하기 위해서는 안드로이드 SDK Manager에서 Google APIs Android 10 패키지를 install 해야 한다.
android.hardware.usb
Android 3.1 이상
안드로이드 프레임워크에 포함된 패키지로서 add-on library를 사용할 필요없다. 만약 안드로이드 3.1 이후의 최신 장비만 지원하도록 앱을 개발한다면 이 패키지를 사용하면 된다.
델파이를 설치하시면 안드로이드 툴의 SDK Manager에서 선택적으로 해당 버전의 google api를 설치할 수 있습니다.
개발 시 AndroidManifest.xml에서 애플케이션 정의 시 <uses-feature> 요소를 통해 USB host와 액세서리 지원여부를 필터링할 수 있다.
<use-feature android:name=”android.hardware.usb.host”/>
<use-feature android:name=”android.hardware.usb.accessory”/>
만약 필요한 모드를 지원하지 않는 안드로이드 장비일 경우에는 애플리케이션이 설치되지 않을 것이다.델파이에서는 해당 프로젝트의 Manifest.xml을 편집 할 수 있습니다.