좀 늦긴 했지만 블로그를 이제야 오픈한 관계로 새로 업데이트된 안드로이드 플랫폼 2.3.3 버전에 대해 간략하게 살펴보도록 합시다.
다음은 안드로이드에서 공개한 2.3.3 플랫폼 API에 대해 추가된 내용 중에 일부를 발췌한 것입니다.

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 from NDEF_DISCOVEREDTECH_DISCOVERED, or TAG_DISCOVEREDIntents.
  • NdefRecord, delivered in an NdefMessage, 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, see android.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 appfiltering by tag technologyusing 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 in BitmapFactory.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

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 포맷 지원기능
  • 새로운 음성인식인텐트 추가로 더욱 간단하면서 다양한 결과출력 기능

이라고 요약 할 수 있겠는데요.

전부다 훑어 보기엔 너무 눈이 따가운 관계로 NFC에 대해 조금 살펴보자면
Near Filed Communication (근거리소통) 이라는 기능이 2.3.3에 가장 부각되고 있는 기능으로 
알아듣기 쉽게 말하자면 안드로이드 핸드폰에 태그 인식 장치를 달아서 핸드폰으로 특정태그가 달린 물건을 훑고 지나가면(스캔하면)
태그의 정보가 핸드폰에 입력되는 기능입니다.

그냥 저런 기능이 있구나 하고 넘어가면 아무것도 아닌 기능이겠지만, 조금만 저 기능에 대해 생각해본다면 얼마나 활용도가 높은
기술인지 잘 알 수 있는 기술입니다.
작게는 마트의 바코드 입력 기술을 대체 할 수 있을 뿐만 아니라 크게는 물류사업에도 획기적인 전환점을 가져 올 수 있는 멋진 기술이죠.

상상해 보십시오.
마트에서 물건을 사서 카트에 넣고 자기가 살 물건을 핸드폰 어플을 켜고 한번 다 스캔하면 카트안에 있는 물건의 목록과 가격이 핸드폰에
다 입력되고 저장할 수도 있고 그 정보를 핸드폰의 신용카드 기능과 연계시켜 마트에도 셀프서비스가 나올 수도 있는 기이한 현상이
생길 수도 있는 것입니다. 또한 구매정보를 핸드폰에 기록하고 인터넷에 동기화시키면 가계부를 적을 필요도 없이 인터넷에 가계부가
자동으로 작성이 되겠죠. 그런겁니다. 이 기술은.

프로그램 개발적인 측면에서 보자면
이 기술도 블루투스와 비슷하게 NfcAdapter 로 찾고 NdefMessage 클래스로 기기와 태그간의 정보전송을 컨트롤 하게 되는 
매커니즘으로 이루어져 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고