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 관리자를 사용하여 플랫폼을 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 태그가 감지될 때 실행되는 방식과 시기를 더 세부적으로 제어할 수 있습니다. 이전에는 플랫폼이 관심 있는 애플리케이션에 태그가 발견되었다고 알리기 위해 단일 단계 인텐트 전달을 사용했습니다. 이제 플랫폼은 포그라운드 애플리케이션이 다른 애플리케이션 (android.nfc.NfcAdapter.enableForegroundDispatch())에 전달되기 전에 태그 이벤트를 제어할 수 있는 4단계 프로세스를 사용합니다. 새로운 전달 프로세스를 사용하면 앱이 두 가지 새로운 인텐트 작업인 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 인텐트에서 이러한 메시지를 수신할 수 있습니다.
  • NdefRecord: 공유되는 데이터 유형을 설명하고 데이터 자체를 전송하는 NdefMessage로 전송됩니다.
  • Tag: 기기에서 스캔한 태그를 나타냅니다. 기본 태그 기술에 따라 여러 유형의 태그가 지원됩니다.
  • TagTechnology: 애플리케이션이 태그에 있는 기술을 기반으로 태그 속성 및 I/O 작업에 액세스할 수 있는 인터페이스입니다. Android 2.3.3에서 지원되는 태그 기술의 전체 목록은 android.nfc.tech를 참고하세요.

NFC 통신은 기기 하드웨어의 무선 기술을 기반으로 하며 일부 Android 기기에는 NFC가 없습니다. 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 수준이란 무엇인가요?를 참고하세요.