abc2011winter デ部 nfc
TRANSCRIPT
NearFieldCommunicationわかめ まさひろ(@vvakame)
Androidappengine
Curry(Rice)
2011年1月9日日曜日
NFCって何?
2011年1月9日日曜日
NFCって何?
• NearFieldCommunication の略
• 簡単に言うとFeliCaとかRFID的なもの
• 駅の改札とかにあるアレとかっす
2011年1月9日日曜日
NFCの概要
トッパン・フォームズさんの解説 http://bit.ly/nfc-about
NFC (NearFieldCommunication)
FeliCa MifareISO14443
TypeBother
運転免許証TaspoSuica Edy
2011年1月9日日曜日
Gingerbread NFC API
2011年1月9日日曜日
Gingerbread NFC API
2011年1月9日日曜日
Gingerbread NFC API
1
2
3
2011年1月9日日曜日
以上2011年1月9日日曜日
Gingerbread NFC API
2011年1月9日日曜日
残念2011年1月9日日曜日
動作の流れ
• NFC TagをNexusS(端末)に近づける
• Intentが飛んでくる
• 自分のアプリで解析する
2011年1月9日日曜日
android.nfc.NfcAdapter• 端末上のNFCアダプタの抽象• あんまオモロない…• Intentの扱いに便利な定数がある
String action = intent.getAction();if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) { // タグのID 各バイトをHexStringに変換すると、FeliCaでいうIDmになります
intent.getByteArrayExtra(NfcAdapter.EXTRA_ID); // NDEF(後で説明します)をNdefMessage[]として取得します
intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); // android.nfc.Tag を取得します. @hide 指定なのでAPIには載ってません
Parcelable tag = intent.getParcelableExtra("android.nfc.extra.TAG");}
2011年1月9日日曜日
NDEFって何?• NFC Data Exchange Format の略
• NFCによるデータ交換はこの形式!
• 手持ちのタグ(Suica, Edy, 運転免許証)だとこの値が取れないです><
• ぶっちゃけまだ実機でNDEFは取れるの確認できてません><
2011年1月9日日曜日
android.nfc.NdefMessage
2011年1月9日日曜日
android.nfc.NdefMessage
NdefRecord NdefRecord
NdefMessage
• NdefMessageは1つ以上のNdefRecord
から構成される
• 一般的には1レコードだけっぽい
2011年1月9日日曜日
android.nfc.NdefRecord
2011年1月9日日曜日
android.nfc.NdefRecord
NdefRecord NdefRecord
NdefMessage
MB ME CF SR IL TNF
LENGTH INFO(TYPE, PAYLOAD, ID)
BODY(TYPE, ID, PAYLOAD)
2011年1月9日日曜日
どう解釈するの?
• TNFとTypeの値によってPayloadの解釈の仕方が変わる
• AndroidSDKに含まれるNFCDemoではText, Uri, SmartPosterに対応
• NFC RTD でぐぐれ
2011年1月9日日曜日
今出来ること• READしかできない
• 端末間通信には使えない…• NDEF以外でデータ取る方法はほぼない
• 非公開APIに頼ればWriteも出来るとか• 勇者 @adamrocker 先生
• 非公開APIに頼ればSuicaの乗車履歴も取れるとか
• 勇者 @yanzm 先生2011年1月9日日曜日
更なる情報
• 続きはWebで! (書き途中... 1/11くらいまでに書きます)
http://bit.ly/nfc-abc2011w
• 本スライドは以下で公開予定http://slidesha.re/abc2011w-nfc
2011年1月9日日曜日
略語メモ• NFC Near Field Communication• NDEF NFC Data Exchange Format• MB Message Begin• ME Message End• CF Chunk Flag• SR Short Record• IL ID Length• TNF Type Name Format• RTD Record Type Definition
2011年1月9日日曜日