Android 2.3.3 Platform ちょこっとまとめ

この間出た3.0にはまだく触れることができないでいるのに、2.3系も一つ上がって2.3.3。なんか最近ついていけないぞ。

以下、私の英語訳は自分の勉強を兼ねており非常に不完全なので必ず原文を読んでいただきたい。

Android 2.3.3 Platform

Near Field Communications (NFC)

改善、拡大されたNFCサポート。より多くの種類のタグを新たな方法で扱うことができるようになった。

より多くの標準的なタグをサポートする。含まれるのは以下の規格。
  ・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
 脚注※ FeliCaNFC-Fで良いのかな。


プラットホームは制限されたピアツーピアの通信プロトコルとそのAPIを提供する。
Activityがそのフォアグラウンドで他のNFCデバイスからプッシュされたNDEFメッセージを登録するAPIを提供する。

より高度なタグのディスパッチと制御
今まではバックグラウンドで動作するNFCサービスがタグを発見した時点で発行されたインテントを処理するという単一の方法で処理されていたが、今回のリリースでは4つのステップを経る処理が追加された。また、フォアグラウンドのアプリケーションでタグを扱う方法が提供される。

新しい方法ではタグコンテンツとタグテクノロジの二つをリッスンすることができるようになる。
  ・ android.nfc.action.NDEF_DISCOVERED
  ・ android.nfc.action.TECH_DISCOVERED.

NFCAPIは"android.nfc"と"android.nfc.tech"パッケージによる以下の主要なクラスにより構成される。
 ・NfcAdapter 端末上のNFCハードウェアを表す
 ・NdefMessage NDEFデータとメッセージを表す
 ・NdefRecord NdefMessageの構成要素でありNDEFで運用、共有されるデータを表す
 ・Tag NFCデバイスからスキャンされたタグ情報を表す
 ・TagTechnology タグの規格に依存した属性とIO操作を提供する

NFC通信のための機能は全てのAndroid機器でサポートされている訳ではない。NfcAdapter.getDefaultAdapter()メソッドの戻り値がnullか、context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)の戻り値がfalseの場合、NFCの機能は提供されない。

NFC APIを使用する場合、以下のパーミション要求が成功しなくてはならない。


更に、開発者はAndroid MarketにおけるフィルタリングとしてアプリケーションにNFCサポートが必要かどうかをマニフェストに指定することができる。


Bluetooth

2.3.3でnonsecure socketを使った通信をサポートした。これによりシンプルな認証の必要の無いデバイス同士の通信が可能となる。

Graphics

 ・新しいBitmapRegionDecoderクラスによりイメージの矩形領域をデコードできる。
 ・BitmapFactory.Optionsの新たなフィールド"inPreferQualityOverSpeed"を有効にすることで、より正確なしかし遅いIDCTメソッドによりJPEGのデコードを実施する。これにより再構築したJPGイメージの品質が上がる。

Media framework

 ・新しいMediaMetadataRetrieverクラスによりメディアファイルかにフレーム情報とメタデータ情報を取り出すことができる。
 ・MediaRecorder.AudioEncoderとMediaRecorder.OutputFormatは"AMR Wideband" "AAC formats"二つの新たなフィールドを含む。

Speech recognition (音声認識)

音声認識APIはポイスサーチを管理する新たな方法を設定するための定数を含む。詳しくはRecognizerResultsIntentクラスを参照のこと。


これはAndroidというよりはNexus Sの更新だな。