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
脚注※ FeliCaはNFC-Fで良いのかな。
プラットホームは制限されたピアツーピアの通信プロトコルとそのAPIを提供する。
Activityがそのフォアグラウンドで他のNFCデバイスからプッシュされたNDEFメッセージを登録するAPIを提供する。
より高度なタグのディスパッチと制御
今まではバックグラウンドで動作するNFCサービスがタグを発見した時点で発行されたインテントを処理するという単一の方法で処理されていたが、今回のリリースでは4つのステップを経る処理が追加された。また、フォアグラウンドのアプリケーションでタグを扱う方法が提供される。
新しい方法ではタグコンテンツとタグテクノロジの二つをリッスンすることができるようになる。
・ android.nfc.action.NDEF_DISCOVERED
・ android.nfc.action.TECH_DISCOVERED.
NFCのAPIは"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イメージの品質が上がる。