안드로이드 2.3.3 새로운 기능을 살펴봅시다.
API Overview
The sections below provide a technical overview of what's new for developers in 2.3.3, including new features and changes in the framework API since the previous version.
Near Field Communications (NFC)
Android 2.3.3 provides improved and extended support for NFC, to allow applications to interact with more types of tags in new ways.
A new, comprehensive set of APIs give applications read and write access to a wider range of standard tag technologies, including:
- 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 Forum NDEF tags
The platform also provides a limited peer-to-peer communication protocol and API. Foreground Activities can use the API to register an NDEF message that will get pushed to other NFC devices when they connect.
Advanced tag dispatching now gives applications more control over how and when they are launched, when an NFC tag is discovered. Previously, the platform used a single-step intent dispatch to notify interested applications that a tag was discovered. The platform now uses a four-step process that enables the foreground application to take control of a tag event before it is passed to any other applications (android.nfc.NfcAdapter.enableForegroundDispatch()
). The new dispatch process also lets apps listen for specific tag content and tag technologies, based on two new intent actions — android.nfc.action.NDEF_DISCOVERED
andandroid.nfc.action.TECH_DISCOVERED
.
The NFC API is available in the android.nfc
and android.nfc.tech
packages. The key classes are:
NfcAdapter
, which represents the NFC hardware on the device.NdefMessage
, which represents an NDEF data message, the standard format in which "records" carrying data are transmitted between devices and tags. An NDEF message certain many NDEF records of different types. Applications can receive these messages fromNDEF_DISCOVERED
,TECH_DISCOVERED
, orTAG_DISCOVERED
Intents.NdefRecord
, delivered in anNdefMessage
, which describes the type of data being shared and carries the data itself.Tag
, which represents a tag scanned by the device. Multiple types of tags are supported, based on the underlying tag technology.TagTechnology
, an interface that gives applications access to tag properties and I/O operations based on the technologies present in the tag. For a full list of tag technologies supported in Android 2.3.3, seeandroid.nfc.tech
.
NFC communication relies on wireless technology in the device hardware, and is not present in all Android devices. Android devices that do not support NFC will return a null object when getDefaultAdapter(Context)
is called, and context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
will return false
. The NFC API is always present, however, regardless of underlying hardware support.
To use the NFC API, applications must request permission from the user by declaring <uses-permission android:name="android.permission.NFC">
in their manifest files.
Additionally, developers can request filtering on Android Market, such that their applications are not discoverable to users whose devices do not support NFC. To request filtering, add <uses-feature android:name="android.hardware.nfc" android:required="true">
to the application's manifest.
To look at sample code for NFC, see NFCDemo app, filtering by tag technology, using foreground dispatch, and foreground NDEF push (P2P).
Bluetooth
Android 2.3.3 adds platform and API support for Bluetooth nonsecure socket connections. This lets applications communicate with simple devices that may not offer a UI for authentication. See createInsecureRfcommSocketToServiceRecord(java.util.UUID)
and listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
for more information.
Graphics
- A new
BitmapRegionDecoder
class lets applications decode a rectangle region from an image. The API is particularly useful when an original image is large and and the application only need parts of the image. - A new
inPreferQualityOverSpeed
field inBitmapFactory.Options
allows applications to use a more accurate but slightly slower IDCT method in JPEG decode. This in turn improves the quality of the reconstructed image.
Media framework
- A new
MediaMetadataRetriever
class provides a unified interface for retrieving frame and metadata from an input media file. MediaRecorder.AudioEncoder
andMediaRecorder.OutputFormat
include new fields for specifying AMR Wideband and AAC formats.
Speech recognition
The speech-recognition API includes new constants to let you manage voice search results in new ways. Although the new constants are not needed for normal use of speech recognition, you could use them to offer a different view of voice search results in your application. For information, see RecognizerResultsIntent
.
공개된 내용 중에서 특별히 업그레이드 된 부분들을 살펴보자면
- Near Field Communication (NFC) 기능
- NonSecure 블루투스 소켓 연결 기능
- 새로운 비트맵 디코더로 특정사진의 일부분 추출 기능
- MediaMetadataRetriever 라는 클래스로 미디어의 메타데이터를 추출하는 기능
- 새로운 오디오엔코더로 AMR-W 타입과 AAC 포맷 지원기능
- 새로운 음성인식인텐트 추가로 더욱 간단하면서 다양한 결과출력 기능