API 수준: 10
Android 2.3.4 (GINGERBREAD_MR1
)는 Android 2.3.3에서 API 변경 없이 Android 2.3 플랫폼에 여러 버그 수정 및 패치를 추가하는 유지보수 출시입니다. 또한 Android 2.3.4는 선택사항인 Open Accessory 라이브러리를 통해 휴대기기에 Open Accessory API를 지원합니다.
개발자는 Android 2.3.4 플랫폼을 Android SDK의 다운로드 가능한 구성요소로 사용할 수 있습니다. 다운로드 가능한 플랫폼에는 Android 라이브러리와 시스템 이미지, 일련의 에뮬레이터 스킨 등이 포함되어 있습니다. Android 2.3.4를 대상으로 개발 또는 테스트를 시작하려면 Android SDK Manager를 사용하여 플랫폼을 SDK에 다운로드하세요.
API 개요
Android 2.3.4는 Android 2.3.3(API 수준 10)과 동일한 프레임워크 API를 애플리케이션에 제공합니다. API 요약은 Android 2.3.3 버전 노트를 참고하세요.
액세서리 라이브러리 열기
Open Accessory는 연결된 주변기기를 플랫폼에서 실행되는 애플리케이션과 통합하는 새로운 기능입니다. 이 기능은 플랫폼에 내장된 USB(범용 직렬 버스) 스택과 애플리케이션에 노출된 API를 기반으로 합니다. Android 지원 기기에 액세서리로 연결되는 주변기기는 USB 호스트로 연결됩니다.
Open Accessory는 Android 3.1 (API 수준 12)에서 도입되었지만 선택적 외부 라이브러리인 Open Accessory 라이브러리를 통해 Android 2.3.4를 실행하는 기기에서 사용할 수 있습니다. 이 라이브러리는 애플리케이션이 USB를 통해 연결된 다양한 기기 유형을 검색, 통신, 관리할 수 있는 프레임워크 API를 노출합니다. 또한 Android 2.3.4의 애플리케이션에 직접 노출되지 않는 Android 플랫폼의 일부에 대한 API 구현도 제공합니다.
Open Accessory 라이브러리는 모든 기기에서 선택사항입니다. 기기 제조업체는 제품에 오픈 어답세리 라이브러리를 포함할지 또는 제외할지 선택할 수 있습니다. 이 라이브러리는 Android 3.1 이후 버전과 호환되므로 Android 2.3.4를 대상으로 개발된 애플리케이션은 Android 3.1을 실행하는 기기에서 USB 액세서리를 지원하는 경우 이러한 기기에서 제대로 실행됩니다.
Open Accessory 라이브러리에서 제공하는 API는 Android 3.1에서 제공되는 Open Accessory API를 기반으로 합니다. 대부분의 영역에서 동일한 기법과 API를 사용할 수 있습니다. 그러나 Android 2.3.4에서 Open Accessory Library용으로 개발하는 것은 표준 USB API와 다음과 같은 점에서 다릅니다.
UsbManager
객체 가져오기 - 부가기능 라이브러리를 사용할 때UsbManager
객체를 가져오려면getSystemService()
대신 도우미 메서드getInstance()
를 사용하세요. 예를 들면 다음과 같습니다.Kotlin
val manager = UsbManager.getInstance(this)
자바
UsbManager manager = UsbManager.getInstance(this);
- 필터링된 인텐트에서
UsbAccessory
가져오기 - 인텐트 필터를 사용하여 연결된 기기나 액세서리를 필터링하면UsbAccessory
객체가 애플리케이션에 전달되는 인텐트 내에 포함됩니다. 부가기능 라이브러리를 사용하는 경우 다음과 같은 방식으로UsbAccessory
객체를 가져올 수 있습니다.Kotlin
val accessory = UsbManager.getAccessory(intent)
자바
UsbAccessory accessory = UsbManager.getAccessory(intent)
- USB 호스트 지원 없음: Android 2.3.4 및 Open Accessory Library는 USB 호스트 모드(예:
UsbDevice
를 통한 모드)를 지원하지 않습니다. 하지만 Android 3.1에서는 USB 호스트 모드가 지원됩니다. Android 2.3.4를 실행하는 Android 지원 기기는 USB 호스트로 작동할 수 없습니다. 이 라이브러리를 사용하면 Android 지원 기기가 주변기기로만 작동하고 연결된 액세서리가 USB 호스트(UsbAccessory
를 통해)로 작동할 수 있습니다.
Open Accessory Library를 사용하여 앱을 개발하려면 다음이 필요합니다.
- Android SDK 도구의 최신 버전
- 라이브러리 자체(연결용)가 포함된 최신 버전의 Google API 부가기능
- 연결된 기기에 대한 런타임 테스트를 위해 USB 액세서리 지원이 포함된 Android 2.3.4(또는 Android 3.1)를 실행하는 실제 하드웨어 기기
USB 액세서리와 상호작용하는 애플리케이션을 개발하는 방법에 관한 자세한 내용은 관련 개발자 문서를 참고하세요.
또한 개발자는 Google Play에서 필터링을 요청하여 기기에서 적절한 액세서리 지원을 제공하지 않는 사용자는 애플리케이션을 사용할 수 없도록 할 수 있습니다. 필터링을 요청하려면 애플리케이션 매니페스트에 아래 요소를 추가합니다.
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
API 수준
Android 2.3.4 플랫폼은 API 수준을 증가시키지 않습니다. Android 2.3.3과 동일한 API 수준, 즉 API 수준 10을 사용합니다.
애플리케이션에서 API 수준 10에 도입된 API를 사용하려면 Open 액세서리 라이브러리도 포함된 최신 버전의 Google API 부가기능에 제공된 Android 라이브러리를 대상으로 애플리케이션을 컴파일해야 합니다.
필요에 따라 애플리케이션 매니페스트의 <uses-sdk>
요소에 android:minSdkVersion="10"
속성을 추가해야 할 수도 있습니다. 애플리케이션이 Android 2.3.3 이상에서만 실행되도록 설계된 경우 이 속성을 선언하면 애플리케이션이 이전 버전의 플랫폼에 설치되지 않습니다.
자세한 내용은 API 수준이란 무엇인가요?를 참고하세요.