您的位置:首页 > 移动开发 > Android开发

Android开发文档学习:NFC(近场通讯)(二)

2011-07-04 23:01 393 查看
Android NFC API概述Android中提供的与NFC相关的较高层的类都包含在android.nfc中,这个包中包含了用于与本地NFC适配器交互的类,用于代表已经识别的标签的类以及用来使用NDEF(Nfc Data Exchange Format )格式的类。这个包中主要包括了如下几个类:Show entriesSearch:
类名描述
NfcManagerNFC的一个高级管理类,用于枚举出本机的NFC适配器。由于大多数的设备都只提供一个NFC适配器,因此在大多数情况下我们可以通过getDefaultAdapter(Context)这个静态的方法来得到本地的NFC适配器的引用。
NfcAdapter该类代表了本地的NFC适配器。它定义了如何将NFC标签的信息传达给Activity的intent,并且提供了用于注册前台标签调度和前台的数据推送的方法。前台的基于NDEF的数据推送是目前Android仅提供的点到点支持方式。
NdefMessage and NdefRecordNDEF是由NFC论坛所定义的一种数据结构,它是为了高效率的在NFC标签上存储数据,例如文本、url或者其他的数据格式。NdefMessage是用于封装需要传输或读取的数据的容器。而每一个NdefMessage包含了0个或若干个NdefRecord。每个NDEF的记录都包括一种有效类型的数据。在一条NDEF消息中的第一个记录的作用是向android的Activity调度一个标签。
Tag该类代表了一个无源的NFC标签。这种标签可以来自于各种物体,比如通常所用的物理标签、卡片、钥匙卡或者也可以是一部可以仿真成NFC标签的电话机。当NFC识别设备发现了一个NFC标签,系统就会创建一个NFC Tag对象并在对象中封装一个intent。然后NFC的标签调度系统将会负责将这些intent调度到适当的Activity中。可以通过 getTechList() 方法来决定使用适合该Tag对象的读写标准并且可以使用 android.nfc.tech包所提供的相关类来创建与此相关的 TagTechnology 对象。
Showing 1 to 4 of 4 entries Android.nfc.tech包主要是包括了一些用于查询特定标签的特性和I/O操作的类。所有的这些类都需要实现TagTechnology接口,它们包括NfcA、NfcB、NfcF、NfcV、IsoDep、Ndef、NdefFormtable、MifareClassic、MifareUltralight这几个类。Android与NFC相关的类大致就是如上几个,下面我们简单的了解一下如何开始NFC的编程。根据Android系统所遵循的权限机制,我们需要在AndroidManifest.xml中对需要使用的权限进行声明,这样在程序进行安装时将会提示用户该程序将会使用到哪些设备,让用户来决定是否赋予应用程序相应的权限,Android通过这样的机制来提高系统的安全性。因此当我们在应用程序中需要使用到NFC硬件的时候,我们应当在AndroidManifest.xml中加上:
另外还需要声明的是能够支持应用程序的最低SDK版本,由于对NFC的支持是在API 10以后才比较完善,因此我们需要使用:
android的应用程序都是通过上传到Android Market上供用户下载的,我们可以通过加入如下一段声明使我们的应用程序能够被归类到“支持NFC”的手机型号中:
这三种intent filter的声明方式使用在特定的情况下。因此我们需要通过分析具体的应用程序来决定使用哪一种方式。具体怎么选择将在后面提到(标签调度系统)。这里我们可以看一看一个完整的AndroidManifest.xml例子,取自于NFCDemo。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息