Android 2.3.4 API

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 라이브러리는 기기에서 선택사항입니다. 기기 제조업체는 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 라이브러리 개발은 다음과 같은 점에서 표준 USB API와 다릅니다.

  • UsbManager 객체 가져오기 - 부가기능 라이브러리를 사용할 때 UsbManager 객체를 가져오려면 getSystemService() 대신 getInstance() 도우미 메서드를 사용합니다. 예를 들면 다음과 같습니다.

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • 필터링된 인텐트에서 UsbAccessory 가져오기 - 인텐트 필터로 연결된 기기 또는 액세서리를 필터링하면 UsbAccessory 객체는 애플리케이션에 전달되는 인텐트 내부에 포함됩니다. 부가기능 라이브러리를 사용한다면 다음과 같은 방식으로 UsbAccessory 객체를 가져올 수 있습니다.

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • USB 호스트 지원 없음 - USB 호스트 모드가 Android 3.1에서 지원되지만 Android 2.3.4 및 Open Accessory 라이브러리는 USB 호스트 모드 (예: UsbDevice를 통해)를 지원하지 않습니다. Android 2.3.4를 실행하는 Android 지원 기기는 USB 호스트로 작동할 수 없습니다. 라이브러리를 사용하면 Android 지원 기기가 주변기기로만 기능할 수 있으며, 연결된 액세서리는 UsbAccessory를 통해 USB 호스트로 작동합니다.

Open Accessory 라이브러리를 사용하여 앱을 개발하려면 다음이 필요합니다.

  • 최신 버전의 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 수준 10과 동일한 API 수준을 사용합니다.

API 수준 10에 도입된 API를 애플리케이션에서 사용하려면 Open Accessory 라이브러리도 포함된 Google API 부가기능의 최신 버전에서 제공되는 Android 라이브러리를 대상으로 애플리케이션을 컴파일해야 합니다.

필요에 따라 애플리케이션의 매니페스트에 있는 <uses-sdk> 요소에 android:minSdkVersion="10" 속성을 추가해야 할 수도 있습니다. 애플리케이션이 Android 2.3.3 이상에서만 실행되도록 설계된 경우 이 속성을 선언하면 애플리케이션이 이전 버전의 플랫폼에 설치되지 않습니다.

자세한 내용은 API 수준이란 무엇인가요?를 읽어보세요.