Android 2.3.3 API

API 수준: 10

Android 2.3.3 (GINGERBREAD_MR1)은 Android 2.3 플랫폼에 몇 가지 개선사항과 API를 추가한 소규모 기능 출시입니다.

개발자는 Android 2.3.3 플랫폼을 Android SDK의 다운로드 가능한 구성요소로 사용할 수 있습니다. 다운로드 가능한 플랫폼에는 Android 라이브러리, 시스템 이미지, 에뮬레이터 스킨 모음 등이 포함됩니다. Android 2.3.3에서 개발하거나 테스트를 시작하려면 Android SDK Manager를 사용하여 플랫폼을 SDK로 다운로드하세요.

API 개요

아래 섹션에서는 이전 버전 이후의 프레임워크 API의 새로운 기능과 변경사항을 포함하여 2.3.3의 새로운 개발자를 위한 기술적 개요를 설명합니다.

근거리 무선통신(NFC)

Android 2.3.3은 향상된 NFC 지원을 제공하여 애플리케이션이 새로운 방식으로 더 많은 유형의 태그와 상호작용할 수 있도록 합니다.

새롭고 포괄적인 API 집합은 애플리케이션에 다음과 같은 광범위한 표준 태그 기술에 대한 읽기 및 쓰기 액세스 권한을 부여합니다.

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • MIFARE Classic
  • MIFARE Ultralight
  • NFC 포럼 NDEF 태그

또한 이 플랫폼은 제한된 P2P 통신 프로토콜 및 API를 제공합니다. 포그라운드 활동은 API를 사용하여 연결 시 다른 NFC 기기로 푸시되는 NDEF 메시지를 등록할 수 있습니다.

이제 고급 태그 디스패치를 사용하면 NFC 태그가 검색될 때 시작 방법과 시기를 애플리케이션에서 더 세밀하게 제어할 수 있습니다. 이전에는 플랫폼에서 단일 단계 인텐트 디스패치를 사용하여 관심 있는 애플리케이션에 태그가 발견되었음을 알렸습니다. 이제 플랫폼에서는 태그 이벤트가 다른 애플리케이션에 전달되기 전에 포그라운드 애플리케이션이 태그 이벤트를 제어할 수 있도록 하는 4단계 프로세스(android.nfc.NfcAdapter.enableForegroundDispatch())를 사용합니다. 또한 새로운 전달 프로세스를 사용하면 앱이 두 개의 새로운 인텐트 작업(android.nfc.action.NDEF_DISCOVEREDandroid.nfc.action.TECH_DISCOVERED)에 따라 특정 태그 콘텐츠 및 태그 기술을 수신 대기할 수 있습니다.

NFC API는 android.nfcandroid.nfc.tech 패키지에서 사용할 수 있습니다. 주요 클래스는 다음과 같습니다.

  • NfcAdapter: 기기의 NFC 하드웨어를 나타냅니다.
  • NdefMessage: 데이터를 전달하는 '레코드'가 기기와 태그 간에 전송되는 표준 형식인 NDEF 데이터 메시지를 나타냅니다. NDEF 메시지는 서로 다른 유형의 여러 NDEF 레코드와 관련이 있습니다. 애플리케이션은 NDEF_DISCOVERED, TECH_DISCOVERED 또는 TAG_DISCOVERED 인텐트에서 이러한 메시지를 수신할 수 있습니다.
  • NdefMessage에서 제공되는 NdefRecord. 공유 중인 데이터의 유형을 설명하고 데이터 자체를 전달합니다.
  • Tag: 기기에서 스캔한 태그를 나타냅니다. 기본 태그 기술에 따라 여러 유형의 태그가 지원됩니다.
  • TagTechnology: 태그에 있는 기술을 기반으로 애플리케이션에 태그 속성 및 I/O 작업에 액세스할 수 있는 권한을 부여합니다. Android 2.3.3에서 지원되는 태그 기술의 전체 목록은 android.nfc.tech를 참고하세요.

NFC 통신은 기기 하드웨어의 무선 기술에 의존하며 모든 Android 기기에 있는 것은 아닙니다. NFC를 지원하지 않는 Android 기기는 getDefaultAdapter(Context)가 호출되면 null 객체를 반환하고 context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)false를 반환합니다. 하지만 NFC API는 기본 하드웨어 지원과 관계없이 항상 제공됩니다.

NFC API를 사용하려면 애플리케이션이 매니페스트 파일에서 <uses-permission android:name="android.permission.NFC">를 선언하여 사용자에게 권한을 요청해야 합니다.

또한 개발자는 NFC를 지원하지 않는 기기의 사용자에게 애플리케이션이 검색되지 않도록 Google Play에서 필터링을 요청할 수 있습니다. 필터링을 요청하려면 애플리케이션의 매니페스트에 <uses-feature android:name="android.hardware.nfc" android:required="true">를 추가합니다.

자세한 내용은 NFC 개발자 가이드를 참조하세요.

블루투스

Android 2.3.3에는 블루투스 비보안 소켓 연결을 위한 플랫폼 및 API 지원이 추가되었습니다. 이를 통해 애플리케이션은 인증용 UI를 제공하지 않을 수 있는 간단한 기기와 통신할 수 있습니다. 자세한 내용은 createInsecureRfcommSocketToServiceRecord(java.util.UUID)listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)를 참고하세요.

그래픽

  • 새로운 BitmapRegionDecoder 클래스를 사용하면 애플리케이션이 이미지에서 직사각형 영역을 디코딩할 수 있습니다. 이 API는 원본 이미지가 크고 애플리케이션에 이미지의 일부만 필요할 때 특히 유용합니다.
  • BitmapFactory.Options의 새로운 inPreferQualityOverSpeed 필드를 통해 애플리케이션은 JPEG 디코딩에서 더 정확하지만 약간 느린 IDCT 메서드를 사용할 수 있습니다. 이렇게 하면 재구성된 이미지의 품질이 향상됩니다.

미디어 프레임워크

음성 인식

Speech-recognition API에는 음성 검색결과를 새로운 방식으로 관리할 수 있는 새로운 상수가 포함되어 있습니다. 음성 인식을 정상적으로 사용하는 데는 새 상수가 필요하지 않지만 이를 통해 애플리케이션에서 다른 음성 검색결과 뷰를 제공할 수 있습니다. 자세한 내용은 RecognizerResultsIntent를 참고하세요.

API 수준

Android 2.3.3 플랫폼은 업데이트된 버전의 프레임워크 API를 제공합니다. Android 2.3.3 API에는 시스템 자체에 저장되는 정수 식별자 10이 할당됩니다. 'API 수준'이라고 하는 이 식별자를 사용하면 시스템에서 애플리케이션을 설치하기 전에 애플리케이션이 시스템과 호환되는지 올바르게 판단할 수 있습니다.

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

자세한 내용은 API 수준이란?을 참조하세요.