我们在了解学习NFC技术之前先了解一下什么是NFC技术,这里我简单的介绍一下,主要以代码为主。
点对点模式:点对点模式的出现时NFC区别于RFID的最主要的特点之一。NFC的P2P模式有点类似于手机的红外技术,可以用于交换数据,但相对于蓝牙技术和红外线技术,具有更快捷的链接效率,适合传输数据量少的快速通信。很多人以为NFC的传输效率要比蓝牙高,其实并不是,NFC的传输速度为212、424、868、721、115Kbps,而蓝牙的传输速度为2.1 Mbps,所以NFC的传输速度并不比蓝牙。其实NFC的使用可以和其他技术结合使用,如在传输文件时,可以将NFC作为打开wifi或蓝牙的入口,就可以解决wifi和蓝牙配对慢的问题,在通过wifi或蓝牙来进行传输。
>仿真卡模式:在该模式下,我们认为NFC设备就是一张NFC标签卡,该模式可以将手机模拟为一张卡片来使用,该模式最常见的应用就是手机的“闪付”功能。尤其是在android4.0.4 (lv15)版本,加入了对SE的支持,使用签名证书代替了系统级的权限许可(也就是在Android架构术语中的签名),因此,只要在Android系统上进行白名单登记,不需要制造商密钥,就可以访问内置的SE,使卡模拟流程简化。
接下来我们认识一下在使用NFC过程中我们需要了解哪些API,这里我们复制一下NFC的api:
NdefMessage :Represents an immutable NDEF Message.
NdefRecord :Represents an immutable NDEF Record.
NfcAdapter :Represents the local NFC adapter.
NfcManager:High level manager used to obtain an instance of an NfcAdapter.
Tag: Represents an NFC tag that has been discovered.
在这里我斗胆用我尚未过4级的英语水平给大家翻译一下(我不会按照原文档来翻译,我会更具我的理解适当的变化)
NdefMessage :表示一个不可变NDEF消息。
NdefRecord :表示一个不可变NDEF记录。
NfcAdapter :相当于一个NFC适配器,类似于电脑装了网络适配器才能上网,手机装了NfcAdapter才能发起NFC通信。
NfcManager :可以用来管理Android设备中指出的所有NFCAdapter,但由于大部分Android设备只支持一个NFC Adapter,所以一般直接调用getDefaultAapater来获取手机中的Adapter。
Tag :代表一个被动式Tag对象,可以代表一个标签,卡片等。当NFC接触到手机时,就会产生一个Tag并将其放入到Intent,并发送给相应的Activity
除了这些API以外还有一个比较常用的对象
NDEF: NFC Data Exchange Format,即NFC数据交换格式。
这一节我们就先简单的了解一下NFC,下一节我们重点学习一下“NFC的读写卡模式”
首先,我们需要先知道NFC的工作模式分为三种模式,分別为读写卡模式(Reader/writer mode),点对点模式(P2P mode)以及仿真卡模式(Card emulation)。
读写卡模式:就是将手机作为一个NFC标签卡的读卡器,可以让手机获取到NFC标签中的内容,并作出响应,也是目前使用最多的模式。需要注意的是:对于NFC中的数据,并不是仅仅可以获取,这个数据可以是一个URI格式的数据,并对该URI经行响应。如:直接拨打电话。点对点模式:点对点模式的出现时NFC区别于RFID的最主要的特点之一。NFC的P2P模式有点类似于手机的红外技术,可以用于交换数据,但相对于蓝牙技术和红外线技术,具有更快捷的链接效率,适合传输数据量少的快速通信。很多人以为NFC的传输效率要比蓝牙高,其实并不是,NFC的传输速度为212、424、868、721、115Kbps,而蓝牙的传输速度为2.1 Mbps,所以NFC的传输速度并不比蓝牙。其实NFC的使用可以和其他技术结合使用,如在传输文件时,可以将NFC作为打开wifi或蓝牙的入口,就可以解决wifi和蓝牙配对慢的问题,在通过wifi或蓝牙来进行传输。
>仿真卡模式:在该模式下,我们认为NFC设备就是一张NFC标签卡,该模式可以将手机模拟为一张卡片来使用,该模式最常见的应用就是手机的“闪付”功能。尤其是在android4.0.4 (lv15)版本,加入了对SE的支持,使用签名证书代替了系统级的权限许可(也就是在Android架构术语中的签名),因此,只要在Android系统上进行白名单登记,不需要制造商密钥,就可以访问内置的SE,使卡模拟流程简化。
接下来我们认识一下在使用NFC过程中我们需要了解哪些API,这里我们复制一下NFC的api:
NdefMessage :Represents an immutable NDEF Message.
NdefRecord :Represents an immutable NDEF Record.
NfcAdapter :Represents the local NFC adapter.
NfcManager:High level manager used to obtain an instance of an NfcAdapter.
Tag: Represents an NFC tag that has been discovered.
在这里我斗胆用我尚未过4级的英语水平给大家翻译一下(我不会按照原文档来翻译,我会更具我的理解适当的变化)
NdefMessage :表示一个不可变NDEF消息。
NdefRecord :表示一个不可变NDEF记录。
NfcAdapter :相当于一个NFC适配器,类似于电脑装了网络适配器才能上网,手机装了NfcAdapter才能发起NFC通信。
NfcManager :可以用来管理Android设备中指出的所有NFCAdapter,但由于大部分Android设备只支持一个NFC Adapter,所以一般直接调用getDefaultAapater来获取手机中的Adapter。
Tag :代表一个被动式Tag对象,可以代表一个标签,卡片等。当NFC接触到手机时,就会产生一个Tag并将其放入到Intent,并发送给相应的Activity
除了这些API以外还有一个比较常用的对象
NDEF: NFC Data Exchange Format,即NFC数据交换格式。
这一节我们就先简单的了解一下NFC,下一节我们重点学习一下“NFC的读写卡模式”