M24SR M24LR NFC Android



Similar documents
评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

《C语言基础入门》课程教学大纲

I

深圳市新亚电子制程股份有限公司

修改版-操作手册.doc

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

2006年顺德区高中阶段学校招生录取分数线


采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

珠江钢琴股东大会

课程类 别

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

上海证券交易所会议纪要

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

Microsoft Word - 文件汇编.doc

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

 编号:

国债回购交易业务指引

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提


ETF、分级基金规模、份额变化统计

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

Microsoft Word - 第7章 图表反转形态.doc

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

2014年中央财经大学研究生招生录取工作简报


Cybozu Garoon 3 管理员手册

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

一、资质申请

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

微软用户

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

第 一 部 分 MagiCAD for Revit 安 装 流 程

中 国 软 科 学 年 第 期!!!

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

关于修订《沪市股票上网发行资金申购

( 此 页 无 正 文, 为 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 之 签 署 页 ) 广 东 东 方 精 工 科 技 股 份 有 限 公 司 法 定 代 表 人 : 唐 灼 林 2016 年 7 月 28 日

教师上报成绩流程图

Template BR_Rec_2005.dot

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

Microsoft Word - 第3章.doc

登录、注册功能的测试用例设计.doc

乐视云视频发行平台 操作手册 V1.1

<4D F736F F D20322EC9F3BACBC8CBD4B1D7CAB8F1D7A2B2E1B9DCC0EDB9E6B7B6B8BDB1ED2E646F63>

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

四川省卫生厅关于开展医疗美容主诊医师资格考试及换证工作的通知

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

·岗位设置管理流程

世华财讯模拟操作手册

B-002 行 政 处 罚 在 气 象 探 测 环 境 保 护 范 围 内 从 事 危 害 气 象 探 测 环 境 活 动 的 处 罚 中 华 人 民 共 和 国 气 象 法 第 三 十 五 条 第 一 款 第 二 项 B-003 行 政 处 罚 在

操作手册

学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 8:10-9:50 第 二 公 共 教 学 楼 A 区 A 高 等 数 学 ( 理 二 2) 复 材 材 料 科 学 与 工 程

2016年南开大学MBA招生信息


第2章 数据类型、常量与变量


年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

三门峡市质量技术监督局清单公示

国家职业标准:网络课件设计师

证券代码: 证券简称:长城电脑 公告编号:

秦川发展第五届第三次

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 ( 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

证监会行政审批事项目录

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

全国教师资格认定管理信息系统

引言

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

云信Linux SSH认证代理用户手册

附件1:

<4D F736F F D20D0A3B7A2A1B A1B BAC5B9D8D3DAD7E9D6AFBFAAD5B9C8ABD0A3BDCCD6B0B9A4B8DACEBBC6B8D3C3B1E4B6AFB9A4D7F7B5C4CDA8D6AA2E646F63>

<4D F736F F D20B9D8D3DA BDECB1CFD2B5C9FAC5C9C7B2B1A8B5BDB5C8D3D0B9D8B9A4D7F7B5C4CDA8D6AAA3A E362E38A3A92E646F63>

徐天宏:《基因天堂》.doc

Transcription:

应 用 笔 记 为 M24SR 和 M24LR 设 备 设 计 NFC Android 应 用 程 序 前 言 本 应 用 笔 记 解 释 了 如 何 创 建 与 属 于 M24SR 和 MLR 系 列 的 STMicroelectronics NFC 产 品 相 关 的 Android 应 用 程 序 本 应 用 笔 记 是 实 现 用 户 专 用 Android 应 用 程 序 的 指 南 文 本, 应 用 程 序 可 以 在 Android 设 备 和 ST NFC 动 态 标 签 或 ST NFC 收 发 器 之 间 实 现 数 据 交 换 本 文 内 容 主 要 是 基 于 网 络 上 的 内 容, 尤 其 是 Android 开 发 者 网 站 在 演 示 如 何 实 现 简 单 的 NFC Android 应 用 程 序 之 前, 会 简 单 概 述 一 下 Android 应 用 程 序, 介 绍 一 些 主 要 的 Android 应 用 程 序 概 念 接 下 来 会 通 过 使 用 NFC Android API 向 NFC 应 用 程 序 读 者 进 行 介 绍 最 后 一 部 分 解 释 了 如 何 利 用 Android 解 决 方 案 使 用 ST 产 品 的 增 强 特 性 2014 年 2 月 DocID025722 Rev 1 1/42 www.st.com

目 录 AN4430 目 录 术 语 表.............................................................. 6 参 考 文 档............................................................ 7 1 Android 应 用 程 序 概 述........................................ 8 1.1 关 于 Android 操 作 系 统........................................ 8 1.2 Android 系 统 : 组 件 架 构 视 图................................... 8 1.2.1 Android 架 构 概 述........................................... 8 1.2.2 Android API............................................... 9 1.3 Android 应 用 程 序 简 介....................................... 10 1.3.1 应 用 程 序 基 础............................................. 10 1.3.2 应 用 程 序 组 件............................................. 11 1.3.3 Intent 和 Intent 过 滤 器...................................... 11 2 如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序..................... 16 2.1 开 发 环 境.................................................. 16 2.1.1 必 备 条 件................................................ 16 2.2 NFC Android API........................................... 17 2.2.1 Android.nfc 包............................................ 17 2.3 利 用 eclipse 生 成 新 对 象...................................... 19 2.4 设 置 Android Manifest ( 清 单 ) 文 件............................ 21 2.4.1 NFC 权 限................................................ 21 2.4.2 NFC 特 性................................................ 21 2.4.3 Intent 过 滤 器 设 置.......................................... 21 2.5 Android NFC 活 动 实 现....................................... 23 2.5.1 导 入 NFC 包.............................................. 23 2.5.2 NFC 适 配 器 和 前 景 调 度..................................... 24 2.5.3 Intent 和 NFC 对 象 处 理..................................... 24 2.5.4 最 终 AndroidManifest.xml 文 件............................... 27 2.5.5 最 终 MainActivity 类 文 件.................................... 28 3 如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性......................... 30 3.1 M24SR 增 强 特 性 使 用 案 例 CCFile 寻 址........................ 30 3.2 M24LR 增 强 特 性 学 习 读 / 写 15693 标 签....................... 36 2/42 DocID025722 Rev 1

目 录 4 修 订 历 史.................................................. 41 DocID025722 Rev 1 3/42 3

表 格 目 录 AN4430 表 格 目 录 表 1. 文 档 修 订 历 史........................................................... 41 4/42 DocID025722 Rev 1

图 片 目 录 图 片 目 录 图 1. Android 系 统 框 图......................................................... 9 图 2. Android 系 统 及 相 应 API 级 别 的 升 级.......................................... 10 图 3. 活 动 Java 骨 架 程 序....................................................... 12 图 4. 活 动 生 命 周 期........................................................... 13 图 5. 通 用 结 构 清 单........................................................... 15 图 6. Tag ( 标 签 ) 调 度 策 略.................................................... 19 图 7. 启 动 工 程 向 导........................................................... 19 图 8. New Android Application 向 导............................................... 20 图 9. New Android Application 设 置............................................... 20 DocID025722 Rev 1 5/42 5

术 语 表 AN4430 术 语 表 IDE: 集 成 开 发 环 境 ADT:Android 开 发 工 具 NFC: 近 场 通 信 APK:Android 应 用 程 序 包 ADB:Android 调 试 桥 AAPT:Android 资 源 打 包 工 具 UI: 用 户 界 面 RTD: 记 录 类 型 定 义 RATS: 选 择 应 答 请 求 PPS: 协 议 和 参 数 选 择 6/42 DocID025722 Rev 1

参 考 文 档 参 考 文 档 ST-M24SR 产 品 数 据 手 册, 下 载 自 www.st.com ST-M24LR 产 品 数 据 手 册, 下 载 自 www.st.com Android 参 考 网 站 ISO/IEC 7816-4: 识 别 卡 集 成 电 路 卡 - 用 于 交 换 的 结 构 安 全 和 命 令 IS0/IEC 14443: 识 别 卡 -- 非 接 触 式 集 成 电 路 卡 IS0/IEC 15693: 非 接 触 式 集 成 电 路 卡 -- 近 距 型 卡 DocID025722 Rev 1 7/42 41

Android 应 用 程 序 概 述 AN4430 1 Android 应 用 程 序 概 述 1.1 关 于 Android 操 作 系 统 Android 是 基 于 Linux 内 核 的 操 作 系 统, 主 要 是 为 智 能 手 机 和 平 板 电 脑 等 触 摸 屏 式 移 动 设 备 而 设 计 Android 系 统 最 早 是 由 Android 公 司 开 发 的,Google 出 资 支 持 该 公 司 并 在 随 后 的 2005 年 将 其 收 购 Android 系 统 于 2007 年 伴 随 开 放 手 机 联 盟 (Open Handset Alliance) 的 成 立 而 推 出, 该 联 盟 由 众 多 致 力 于 推 动 移 动 设 备 开 放 式 标 准 建 设 的 硬 件 软 件 和 电 信 公 司 组 成 世 界 上 第 一 款 使 用 Android 系 统 的 智 能 手 机 HTC Dream 于 2008 年 10 月 22 日 面 市 (a) 1.2 Android 系 统 : 组 件 架 构 视 图 1.2.1 Android 架 构 概 述 Android 基 本 上 包 含 下 列 层 次 ( 见 图 1) 应 用 程 序, 用 在 Dalvik 中 执 行 的 java 语 言 编 写 ( 本 应 用 笔 记 的 主 题 内 容 ) 框 架 服 务 和 库 文 件, 主 要 用 java 语 言 编 写 本 地 库 守 护 进 程 和 服 务, 用 C 或 C++ 语 言 编 写 所 有 操 作 系 统 都 包 含 的 Linux 内 核 : 硬 件 驱 动, 联 网, 文 件 系 统 进 程 间 通 信 a. 定 义 来 自 维 基 百 科 8/42 DocID025722 Rev 1

Android 应 用 程 序 概 述 图 1. Android 系 统 框 图 NFC 特 性 可 以 轻 松 映 射 到 该 架 构 上 NFC 手 机 需 要 与 受 控 于 芯 片 制 造 商 提 供 的 NFC 驱 动 的 HW NFC 芯 片 进 行 近 场 通 信 该 驱 动 在 Linux 内 核 中 运 行, 具 有 超 级 用 户 权 限 基 于 此 驱 动, 同 样 由 芯 片 制 造 商 或 手 机 制 造 商 提 供 的 位 于 库 文 件 层 中 的 NFC 堆 栈 可 以 确 保 驱 动 底 层 和 Android 堆 栈 之 间 的 接 口 通 信 畅 通 无 阻, 其 中 Android 堆 栈 可 在 应 用 程 序 框 架 中 实 现 Android API, 尤 其 是 本 应 用 笔 记 下 面 要 讲 到 的 NFC Android API 1.2.2 Android API Android API 是 呈 现 给 开 发 者 的 软 件 顶 层 它 基 于 核 心 Java API, 由 一 系 列 包 组 成, 这 些 包 中 定 义 了 便 于 使 用 Android 特 性 和 设 备 组 件 的 类 该 API 由 多 个 包 组 成, 比 如 : Widget UI 组 件, Telephony 手 机 网 络, 呼 叫, GSM, CDMA Media 音 频, 视 频 Content 内 容 提 供 者, Database SQLLite XML SAX, pull 解 析 器 Hardware 照 相 机, 传 感 器, usb, nfc.. DocID025722 Rev 1 9/42 41

Android 应 用 程 序 概 述 AN4430 随 着 Android 不 断 发 展,Android 联 盟 也 是 不 断 对 包 进 行 改 进, 增 加 新 的 特 性 所 以 随 着 一 些 特 性 的 出 现,API 版 本 又 新 定 义 了 一 系 列 可 用 的 特 性, 这 意 味 着 这 些 特 性 可 能 不 适 用 于 较 低 的 API 版 本 例 如 NFC 功 能 始 于 API level 9 (9 级 ), 仅 限 于 NDEF 消 息 访 问, 本 次 API 修 订 中 又 进 行 了 改 进 图 2 Android 系 统 及 相 应 API 级 别 的 升 级 显 示 了 整 个 Android 系 统 及 与 之 关 联 的 API 级 别 的 更 新 换 代 图 2. Android 系 统 及 相 应 API 级 别 的 升 级 1.3 Android 应 用 程 序 简 介 1.3.1 应 用 程 序 基 础 Android 应 用 程 序 主 要 采 用 java 语 言 编 写 源 代 码 由 Java 编 译 器 转 换 为 java 类 文 件 然 后, Android SDK 将 这 些 Java 类 转 化 为 经 优 化 的 Dalvik 可 执 行 文 件 ( 后 缀 为.dex) 使 用 APPT 工 具 将 Dex 文 件 和 应 用 程 序 工 程 相 关 的 资 源 都 封 装 到 一 种 Android 包 APK 中, 它 是 后 缀 为.apk 的 存 档 文 件 APK 生 成 文 件 本 身 就 包 含 Android 应 用 程 序 的 全 部 内 容 此 时 的 APK 文 件 要 配 置 到 Android 设 备 中, 可 以 通 过 开 发 阶 段 的 ADB 工 具, 也 可 以 在 终 版 应 用 程 序 处 于 发 布 模 式 时 通 过 Google Android 商 店 实 现 运 行 Android 系 统 的 设 备 使 用 APK 包 通 过 特 定 的 用 户 和 群 ID 来 安 装 应 用 程 序 每 个 应 用 程 序 文 件 都 专 属 于 此 生 成 用 户, 其 他 应 用 程 序 均 无 法 访 问 该 文 件 10/42 DocID025722 Rev 1

Android 应 用 程 序 概 述 当 应 用 程 序 由 操 作 系 统 启 动 时, 会 在 其 自 身 的 Dalvik 虚 拟 机 上 运 行 自 己 的 进 程, 与 其 他 正 在 运 行 的 程 序 完 全 隔 离 这 样, 每 个 应 用 程 序 仅 会 访 问 工 作 所 必 需 的 组 件 然 而, 应 用 程 序 可 以 在 其 自 身 之 间 共 享 数 据, 方 式 是 通 过 给 需 要 像 一 个 文 件 一 样 共 享 数 据 的 不 同 应 用 程 序 分 配 相 同 的 Linux 用 户 ID, 或 者 通 过 请 求 权 限 来 访 问 照 相 机 数 据 SMS 数 据 等 设 备 数 据 数 据 请 求 是 由 将 数 据 共 享 作 为 服 务 或 者 内 容 提 供 者 的 Android 组 件 来 实 现 的 权 限 是 由 Android 权 限 系 统 在 安 装 的 时 候 授 予 的 权 限 可 以 向 用 户 自 动 授 予 拒 绝 或 是 提 出 要 求 这 样,Android 系 统 就 遵 循 了 最 小 特 权 原 则 1.3.2 应 用 程 序 组 件 Android 应 用 程 序 是 使 用 应 用 程 序 组 件 编 写 的 应 用 程 序 Android 策 略 就 是 能 够 在 安 装 于 Android 设 备 上 的 所 有 应 用 程 序 之 间 共 享 资 源 这 样, 应 用 程 序 可 以 发 布 其 资 源, 为 其 他 应 用 程 序 所 用 Android 系 统 允 许 自 动 实 例 化 所 需 组 件 的 Java 对 象 所 有 者 这 种 方 式 表 示, 一 方 面 应 用 程 序 只 是 要 求 Android 系 统 启 动 所 需 的 组 件, 且 组 件 也 是 包 含 在 应 用 程 序 中 ; 另 一 方 面, Android 应 用 程 序 没 有 单 一 入 口 点, 而 是 拥 有 系 统 可 以 随 时 实 例 化 的 组 件 Android 组 件 可 分 为 以 下 4 种 主 要 类 型 : 活 动 (Activity) 服 务 (Service) 广 播 接 收 者 (Broadcast receiver) 内 容 提 供 者 (Content provider) 后 面 3 种 类 型 在 本 应 用 笔 记 中 仅 简 单 描 述, 因 为 它 们 并 不 常 用 于 演 示 NFC 应 用 所 带 来 的 方 便 那 些 组 件 是 由 称 为 intent ( 意 图 ) 的 消 息 进 行 异 步 激 活 的 基 于 intent, Android 系 统 找 到 对 其 响 应 的 正 确 组 件, 并 在 必 要 时 通 过 内 容 解 析 器 方 法 调 用 将 其 实 例 化 1.3.3 Intent 和 Intent 过 滤 器 Intent 概 述 Intent 是 一 种 消 息 对 象, 用 于 从 一 个 组 件 向 另 一 个 组 件 请 求 动 作, 从 而 便 于 组 件 之 间 的 通 信 Intent 在 Android 系 统 中 可 用 于 : 启 动 活 动 启 动 服 务 投 递 广 播 intent 的 结 构 隐 含 定 义 了 两 种 intent 类 型 : 显 式 intent: 通 过 名 称 明 确 启 动 组 件 通 常 作 为 组 件 调 用 程 序 从 同 一 应 用 程 序 中 启 动 组 件 隐 式 intent: 声 明 要 执 行 的 通 用 动 作, 但 并 未 给 出 要 启 动 的 组 件 调 用 程 序 不 知 道 组 件 的 名 称 Android 系 统 然 后 负 责 找 到 能 够 应 答 调 用 程 序 请 求 的 合 适 组 件 Android 系 统 寻 找 组 件 intent 过 滤 器 中 所 列 的 intent, 其 声 明 在 清 单 文 件 中 如 果 确 认 了 若 干 组 件,Android 系 统 会 呈 现 一 个 可 选 列 表, 让 最 终 用 户 决 定 所 用 组 件 DocID025722 Rev 1 11/42 41

Android 应 用 程 序 概 述 AN4430 Intent 过 滤 器 Intent 过 滤 器 是 xml 结 构 体 定 义, 与 组 件 声 明 一 起 存 储 在 Android 清 单 文 件 中 ( 接 下 来 会 详 细 描 述 ) 该 结 构 体 附 属 于 组 件 定 义, 用 以 声 明 组 件 能 够 接 收 并 执 行 动 作 的 intent 通 过 这 种 方 式, 用 户 就 可 以 保 证 其 他 应 用 程 序 通 过 确 定 的 intent 来 启 动 活 动 组 件 同 样, 如 果 组 件 活 动 声 明 没 有 intent 过 滤 器 声 明, 那 活 动 就 仅 会 从 其 应 用 程 序 所 有 者 启 动 活 动 (Activity) 活 动 是 隶 属 于 应 用 程 序 的 组 件, 在 其 所 属 的 应 用 程 序 的 Android 清 单 中 进 行 描 述 活 动 可 以 提 供 用 户 与 之 进 行 交 互 的 ( 部 分 ) 屏 幕 应 用 程 序 通 常 由 松 散 结 合 在 一 起 的 若 干 活 动 组 成 其 中 一 个 活 动 被 声 明 为 主 活 动, 其 在 应 用 程 序 运 行 初 始 就 会 启 动 该 主 要 属 性 声 明 在 应 用 程 序 清 单.xml 文 件 中 启 动 的 运 行 程 序 中 的 每 个 活 动 都 可 以 启 动 另 一 个 活 动, 为 用 户 呈 现 一 个 新 屏 幕 每 次 启 动 新 活 动 时, 都 会 将 其 放 在 堆 栈 中, 这 样 前 一 个 就 会 处 于 停 止 状 态, 同 时 Android 系 统 保 证 堆 栈 中 的 活 动 都 遵 守 后 进 先 出 的 基 本 堆 栈 规 则, 也 称 为 返 回 栈 当 前 活 动 完 成 时 ( 动 作 结 束, 按 下 返 回 按 钮 ), 活 动 会 弹 出 堆 栈 并 销 毁, 然 后 返 回 栈 顶 部 的 活 动 继 续 活 动 生 命 周 期 活 动 生 命 周 期 是 通 过 回 调 方 式 处 理 的, 当 活 动 在 不 同 状 态 之 间 转 换 时 系 统 就 会 进 行 调 用 每 个 活 动 开 发 者 工 具 都 必 须 继 承 活 动 (Activity) 类 ( 或 者 它 的 一 个 既 有 子 类 ) 图 3. 活 动 Java 骨 架 程 序 12/42 DocID025722 Rev 1

Android 应 用 程 序 概 述 图 4 显 示 了 需 用 回 调 方 法 集 来 处 理 基 本 生 命 周 期 方 法 的 活 动 骨 架 程 序 回 调 放 到 一 起, 就 定 义 了 Android 系 统 管 理 的 活 动 的 整 个 生 命 周 期 该 图 还 显 示 了 开 发 者 在 活 动 生 命 周 期 内 可 以 管 理 三 种 不 同 嵌 套 循 环 整 个 生 命 周 期 : 在 oncreate() 和 ondestroy() 调 用 中 绑 定, 活 动 应 当 分 别 在 oncreate() 和 ondestroy() 系 统 调 用 中 设 置 或 释 放 可 见 生 命 周 期 : 在 onstart() 和 onstop() 调 用 中 绑 定, 用 户 可 以 看 到 屏 幕 上 的 活 动 以 及 活 动 运 行 所 需 的 资 源 前 景 生 命 周 期 : 在 onresume() 和 onpause() 调 用 中 绑 定, 用 户 可 以 与 活 动 的 屏 幕 进 行 交 互 图 4. 活 动 生 命 周 期 DocID025722 Rev 1 13/42 41

Android 应 用 程 序 概 述 AN4430 活 动 屏 幕 通 过 在 静 态 方 式 下 使 用 图 形 对 象, 活 动 可 以 直 接 管 理 它 自 己 的 图 形 界 面 为 了 使 其 更 加 灵 活, Android 提 供 了 称 为 Fragment ( 碎 片 ) 的 专 用 图 形 对 象 Fragment 表 示 一 种 行 为, 或 者 活 动 中 的 一 部 分 图 形 用 户 界 面 多 个 fragment 可 以 整 合 在 单 个 活 动 中, 便 于 再 次 使 用 和 屏 幕 自 适 应 Fragment 总 是 嵌 入 到 活 动 中, 并 跟 随 活 动 的 生 命 周 期 广 播 接 收 者 (Broadcast receiver) 广 播 接 收 者 是 负 责 对 系 统 范 围 内 的 广 播 发 布 比 如 屏 幕 关 闭 消 息 低 电 量 消 息 等 进 行 响 应 的 组 件 服 务 (Service) 服 务 是 在 背 景 中 长 期 运 行 的 应 用 程 序 组 件, 不 提 供 任 何 用 户 界 面 当 应 用 程 序 运 行 或 者 用 户 切 换 到 其 他 活 动 ( 从 同 一 应 用 程 序 ) 或 其 他 程 序 时, 服 务 依 然 独 立 运 行 内 容 提 供 者 (Content provider) 由 于 Android 采 用 的 安 全 系 统 的 缘 故, 内 容 提 供 者 是 负 责 提 供 定 义 数 据 安 全 的 机 制 的 组 件 类 它 们 都 是 标 准 的 接 口, 可 确 保 不 在 同 一 进 程 中 运 行 的 组 件 之 间 实 现 数 据 共 享 应 用 程 序 可 以 控 制 它 自 己 的 数 据 组 并 保 存 在 文 件 系 统 SQLite 数 据 库 或 SD 等 外 部 存 储 介 质 中 其 他 应 用 程 序 要 访 问 和 修 改 该 数 据 组, 可 以 通 过 运 行 数 据 所 有 者 应 用 程 序 所 提 供 的 内 容 来 对 其 进 行 查 询 内 容 提 供 者 是 应 用 程 序 的 一 部 分, 负 责 集 中 来 自 其 他 外 部 组 件 的 数 据 访 问 它 也 可 以 用 自 己 的 UI, 利 用 自 己 提 供 的 数 据 完 成 某 些 任 务 要 深 入 了 解 内 容 提 供 者 组 件, 用 户 可 以 从 网 上 参 考 文 献, 尤 其 是 在 Android 开 发 者 网 站 上 参 看 日 历 提 供 者 (calendar provider) 和 联 系 人 提 供 者 (contact provider) 应 用 程 序 清 单 应 用 程 序 清 单 与 每 个 Android 应 用 程 序 都 相 关, 开 发 者 必 须 保 证 每 个 应 用 程 序 都 具 有 名 为 AndroidManifest.xml 的 xml 应 用 程 序 描 述 符 文 件 该 文 件 位 于 应 用 程 序 的 根 目 录 下, 赋 予 应 用 程 序 一 个 Java 包 名, 作 为 其 唯 一 标 识 符 清 单 文 件 列 出 了 应 用 程 序 工 作 所 需 的 权 限, 以 及 应 用 程 序 完 全 发 挥 功 能 所 需 的 最 低 Android API 级 别 它 也 描 述 了 属 于 应 用 程 序 的 组 件 ( 比 如 服 务 活 动 广 播 接 收 者 内 容 提 供 者 ) 每 个 组 件 声 明 都 会 获 得 一 个 使 用 该 组 件 的 java 类 名 和 一 组 属 性, 比 如 由 组 件 处 理 的 intent 消 息 列 表 清 单 文 件 架 构 清 单 文 件 属 于 层 次 文 件, 如 下 通 用 架 构 清 单 图 所 示, 且 必 须 采 用 父 子 层 次 同 一 级 别 的 元 素 通 常 不 排 序 由 于 清 单 文 件 是 Android 应 用 程 序 概 念 中 的 关 键 文 件, 建 议 读 者 参 考 Android 清 单 文 档 14/42 DocID025722 Rev 1

Android 应 用 程 序 概 述 图 5. 通 用 结 构 清 单 DocID025722 Rev 1 15/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 2 如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 2.1 开 发 环 境 2.1.1 必 备 条 件 为 实 现 Android 应 用 程 序, 开 发 者 需 要 安 装 自 己 的 开 发 环 境, 可 以 编 辑 源 代 码 使 用 合 适 的 工 具 链 创 建 并 将 应 用 程 序 存 储 到 嵌 入 式 目 标 系 统 ( 比 如 运 行 Android 操 作 系 统 的 手 机 ) 生 成 应 用 程 序 的 操 作 系 统 电 脑 必 须 满 足 下 列 条 件 之 一 : Windows XP (32 位 ), Windows Vista (32 到 64 位 ), Windows 7 (32 到 64 位 ) Mac OS X 10.5.8 或 更 高 版 本 ( 限 于 x86 解 决 方 案 ) Ubuntu (8.04 或 更 高 ) Linux (GNU C lib 2.7 或 更 高 ) 开 发 环 境 Eclipse 3.6.2 (Helios) 或 更 高, 包 含 Eclipse JDT 插 件 Java 开 发 套 件 6 Android SDK: 为 Android 应 用 程 序 开 发 者 提 供 必 要 的 Android API 库 和 工 具, 以 进 行 程 序 创 建 测 试 跟 踪 和 调 试 这 里 列 出 了 Android SDK 中 的 主 要 套 件 库 : SDK 工 具 : 包 含 用 于 调 试 和 测 试 的 工 具 SDK 平 台 工 具 : 包 含 独 立 于 平 台 的 工 具 文 档 : 下 载 自 开 发 者 工 作 站 的 Android 平 台 API 的 离 线 备 份 SDK 平 台 : 存 储 SDK 平 台 ( 对 每 个 Android 版 本 均 如 此 ) 开 发 者 可 根 据 需 要 下 载 SDK 平 台 系 统 映 像 : 每 个 Android 版 本 衍 生 的 系 统 映 像 ( 比 如 ARM x86 等 ) 允 许 开 发 者 使 用 仿 真 器 在 特 定 的 Android 系 统 上 测 试 其 应 用 程 序 Android SDK 源 代 码 : 每 个 Android 版 本 的 源 代 码 ( 开 发 者 可 根 据 自 己 的 Android 版 本 和 需 要 进 行 下 载 ) SDK 示 例 :Google 提 供 的 示 例 集 Google API:SDK 附 加 组 件, 提 供 平 台 和 系 统 映 像 Androi 开 发 工 具 (ADT) 插 件 ( 意 欲 加 速 开 发 进 程 时 推 荐 使 用 ): 此 插 件 能 提 供 强 大 的 集 成 环 境 IDE, 可 以 通 过 扩 展 Eclipse 的 功 能 以 创 建 Android 应 用 程 序 强 烈 建 议 使 用 带 有 ADT 的 eclipse, 这 是 最 快 速 的 入 门 方 法 此 解 决 方 案 简 化 了 新 建 应 用 程 序 工 程 以 及 在 调 试 或 发 布 模 式 中 创 建 最 终 应 用 程 序 的 任 务 在 纯 粹 的 开 发 活 动 中, 开 发 者 还 可 以 得 到 众 多 集 成 工 具 和 强 大 的 XML 编 辑 器 的 支 持 关 于 如 何 根 据 eclipse 或 ADT 自 己 的 开 发 工 作 站 对 其 进 行 安 装 和 使 用 的 更 多 信 息, 读 者 可 参 看 Android 开 发 者 网 站 16/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 2.2 NFC Android API 从 Android 的 角 度 看,NFC 是 一 系 列 短 程 无 线 技 术, 需 要 在 4cm 或 更 小 范 围 内 启 动 连 接 用 户 可 以 在 具 有 NFC 功 能 的 Android 手 机 和 外 部 解 决 方 案 (ST-M24SR 或 ST-M24LR 产 品 ) 之 间 交 换 小 批 量 数 据 许 多 Android API 都 是 基 于 称 为 NDEF(NFC 数 据 交 换 格 式 ) 的 NFC 论 坛 标 准 为 进 一 步 了 解 关 于 NDEF 的 详 细 信 息, 读 者 可 以 从 NFC 论 坛 的 网 站 上 查 看 公 开 发 布 的 NDEF 规 范 相 关 内 容 Android API 可 以 处 理 三 种 模 式 的 操 作 : 读 取 / 写 入 模 式 (Reader/writer mode) 本 应 用 笔 记 描 述 的 模 式 点 对 点 模 式 (P2P mode) 本 应 用 笔 记 不 涉 及 卡 仿 真 模 式 (Card emulation mode) 允 许 NFC 设 备 发 挥 NFC 卡 的 功 能, 可 以 由 外 部 NFC 读 取 器 进 行 寻 址 ( 本 应 用 笔 记 不 涉 及 ) 2.2.1 Android.nfc 包 该 包 在 API 9 中 出 现, 在 接 下 来 的 API 版 本 中 得 到 增 强, 允 许 具 有 NFC 功 能 的 Android 系 统 使 用 近 场 通 信 功 能 它 能 帮 助 开 发 者 轻 松 读 写 符 合 NDEF 规 范 的 NFC 标 签 上 的 NDEF 消 息 Android.nfc 包 中 的 主 类 NfcAdapter 该 类 映 射 了 本 地 Android 手 机 的 NFC 适 配 器 NfcAdapter 是 执 行 NFC 操 作 的 入 口 点 开 发 者 需 调 用 getdefaultadapter() 来 检 索 默 认 NFC 适 配 器 NfcManager 该 类 提 供 了 用 于 获 得 NfcAdapter 实 例 的 NFC 高 级 管 理 器 服 务 通 过 调 用 参 数 中 的 getsystemservice(string) 来 调 用 NFC_SERVICE 字 符 串 可 以 检 索 到 实 例 NdefMessage 和 NdefRecord NdefMessage 类 表 示 NDEF 数 据 消 息 对 象 实 现, 而 NdefRecord 类 表 示 携 带 NDEF 消 息 的 NDEF 记 录 那 些 类 都 可 以 映 射 到 NDEF NFC 论 坛 规 范 上 为 了 构 建 NDEF 消 息, 开 发 者 需 要 从 二 进 制 数 据 中 调 用 NdefMessage([byte]), 其 中 二 进 制 数 据 由 Android API 在 NdefMessage 生 成 时 进 行 解 析 如 果 开 发 者 要 使 用 类 型 化 数 据, 可 以 调 用 NdefMessage(NderRecord NdefRecords 等 ) NdefRecord 对 象 是 根 据 开 发 者 希 望 存 储 在 NDefMessage 中 的 记 录 消 息 的 类 型 生 成 的 ( 比 如 RTD_TEXT RTD_URI RTD_SMART_POSTER 等 ) RTD( 记 录 类 型 定 义 ) 由 NFC 论 坛 规 定, 可 从 他 们 的 网 站 上 检 索 NfcEvent 用 于 包 装 与 NFC 事 件 相 关 的 信 息 的 对 象 通 常 包 含 在 来 自 NfcAdapter 的 回 调 中 NfcEvent 必 须 是 NfcAdapter 回 调 中 的 参 数 的 首 选, 这 是 为 了 保 持 后 向 兼 容 性, 因 为 接 下 来 发 布 的 API 中 可 能 会 增 加 字 段 和 参 数 DocID025722 Rev 1 17/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 Tag ( 标 签 ) 该 类 应 用 于 已 被 发 现 的 标 签 ( 当 标 签 出 现 在 Android 手 机 的 NFC 区 域 内 时 ) 此 对 象 是 必 不 可 少 的, 因 它 代 表 了 标 签 被 发 现 时 的 状 态 它 可 用 于 检 索 标 签 ID(getID() 调 用 ) 以 及 支 持 技 术 等 标 签 特 性 (getteclist() 调 用 ) 每 次 发 现 标 签 时 都 会 生 成 一 个 新 的 标 签 对 象, 即 使 它 是 相 同 的 物 理 标 签 开 发 者 必 须 确 保 一 直 使 用 最 晚 发 现 的 标 签 来 执 行 TagTechnology 接 口 控 制 等 特 定 动 作 当 发 现 标 签 时,Android 系 统 就 会 生 成 一 个 标 签 对 象, 将 其 保 存 在 intent 消 息 中, 与 参 数 中 生 成 的 intent 一 起 请 求 startactivity 动 作 根 据 标 签 特 性 及 所 安 装 的 应 用 程 序, 使 用 四 级 调 度 解 决 方 案 选 择 最 合 适 的 活 动 来 处 理 当 前 检 测 到 的 标 签 ( 见 图 6 标 签 调 度 策 略 ) Android 系 统 按 顺 序 执 行 每 一 级, 一 旦 找 到 一 个 匹 配 活 动 就 完 成 调 度 第 1 级 前 景 活 动 调 度 : 赋 予 称 为 NfcAdapter.enableForegroundDispatch( ) 的 前 景 活 动 以 优 先 权 此 调 用 通 常 在 onresume() 活 动 状 态 回 调 中 完 成 为 释 放 优 先 权, 开 发 者 需 要 调 用 通 常 位 于 Pause() 活 动 状 态 回 调 中 的 NfcAdapter.disableForegroundDispatch (Activity) 第 2 级 NDEF 数 据 调 度 : 如 果 发 现 的 标 签 包 含 至 少 一 条 首 项 记 录 中 有 URI SmartPoster 或 MimeData 的 NDEF 消 息, Android 系 统 就 会 调 用 startactivity() 及 ACTION_NDEF_ DISCOVERED 意 图 (intent) Android 系 统 然 后 会 寻 找 具 有 处 理 能 力 的 ACTION_ NDEF_DISCOVERED 组 件 一 旦 发 现 一 个 组 件, Android 系 统 就 请 求 用 户 选 择 所 启 动 的 应 用 程 序 / 组 件, 以 处 理 未 决 的 intent 如 果 未 发 现 可 以 处 理 此 类 intent 的 组 件, 调 度 就 会 转 向 第 3 级 第 3 级 Tag Technology 调 度 :Android 系 统 使 用 ACTION_TECH_DISCOVERED 调 用 startactivity(), 寻 找 能 够 处 理 当 前 tagtechnology 的 组 件 如 果 有 组 件 可 以 处 理 至 少 一 项 标 签 Android 系 统 所 支 持 的 技 术, 转 到 第 4 级 第 4 级 退 回 调 度 :Android 系 统 使 用 ACTION_TECH_DISCOVERED 调 用 startactivity(), 寻 找 能 够 处 理 当 前 intent 的 组 件 18/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 图 6. Tag ( 标 签 ) 调 度 策 略 2.3 利 用 eclipse 生 成 新 对 象 一 旦 安 装 了 开 发 环 境 ( 带 ADT 和 Android SDK 的 eclipse), 开 发 者 就 需 要 通 过 启 动 Eclipse IDE 来 创 建 工 程, 选 择 File/New/Project 打 开 合 适 的 生 成 工 程 向 导 ( 图 7 启 动 工 程 向 导 ) 图 7. 启 动 工 程 向 导 然 后 选 择 Android/Android Application 工 程, 单 击 Next 按 钮, 打 开 New Android Application 向 导 ( 图 8) 在 文 本 编 辑 控 件 ApplicationName 中 输 入 myfirstnfcapp Project Name 和 Package name 文 本 是 自 动 填 充 的 DocID025722 Rev 1 19/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 图 8. New Android Application 向 导 将 最 低 Required SDK 设 为 API 11,Target SDK 设 为 API 14, 利 用 至 少 API14 进 行 编 译, 然 后 按 Next 若 干 次, 直 到 工 程 生 成 ( 图 9) 确 保 Android API level14 SDK 安 装 到 开 发 工 作 站 上 一 旦 生 成 工 程 就 进 行 创 建, 确 保 整 个 工 程 生 成 设 置 的 有 效 性 如 果 这 一 步 创 建 成 功, 开 发 者 可 以 在 USB 连 接 的 Android 手 机 上 启 动 / 调 试 myfirstnfcapp 应 用 程 序, 确 保 应 用 程 序 正 确 创 建 图 9. New Android Application 设 置 20/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 2.4 设 置 Android Manifest ( 清 单 ) 文 件 2.4.1 NFC 权 限 一 旦 完 成 工 程 创 建 第 一 步, 要 使 用 NFC 功 能, 开 发 者 需 要 在 AndroidManifest.xml 中 正 确 配 置 Android 应 用 程 序 设 置 要 使 用 NFC 功 能, 应 用 程 序 必 须 请 求 NFC 权 限 为 此, 需 要 由 下 列 声 明 在 清 单 文 件 中 明 确 该 项 请 求 : 2.4.2 NFC 特 性 确 定 应 用 程 序 可 以 通 过 添 加 下 列 声 明 来 使 用 NFC: 这 样, 如 果 NFC 特 性 在 Android 设 备 上 不 可 用, 也 就 认 为 应 用 程 序 不 具 备 相 应 功 能 2.4.3 Intent 过 滤 器 设 置 如 应 用 程 序 概 述 一 节 所 述, 组 件 可 以 通 过 声 明 支 持 NFC intent 处 理 程 序 这 样, 就 必 须 声 明 一 个 intent 过 滤 器 事 实 上, 由 清 单 文 件 中 com.example.myfirstnfcapp 识 别 的 应 用 程 序 由 单 个 组 件 构 成, 且 是 一 个 活 动 (activity) 它 也 是 已 有 intent 过 滤 器 声 明 的 主 活 动 : intent 过 滤 器 专 为 主 活 动 而 特 别 声 明, 使 Android 系 统 知 道 根 据 用 户 需 求 启 动 何 种 活 动 由 于 应 用 程 序 有 单 个 活 动, 而 且 NFC intent 可 以 在 主 活 动 中 处 理, 我 们 可 以 声 明 一 个 新 的 intent 过 滤 器, 当 发 现 标 签 时 可 以 用 来 处 理 NDEF 消 息 如 果 活 动 组 件 需 要 管 理 所 有 类 型 的 NDEF 消 息, 我 们 可 以 增 加 下 列 intent 过 滤 器 声 明 ( 为 源 代 码 示 例 准 备 的 解 决 方 案 ): DocID025722 Rev 1 21/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 补 充 intent 过 滤 器 Android 系 统 也 让 开 发 者 优 化 自 己 希 望 对 其 产 生 作 用 的 intent 的 种 类 若 有 NDEF_DISCOVERED 消 息, 开 发 者 可 能 只 想 管 理 一 种 MIME 类 型 的 纯 文 本 (text/plain): 或 者 希 望 对 形 式 为 http://www.st.com 的 特 定 URI 发 挥 作 用 : 如 果 开 发 者 希 望 活 动 组 件 在 IACTION_TECH_DISCOVERED intent 上 激 活, 就 必 须 编 写 XML 文 件 并 存 在 res/xml 文 件 夹 下 文 件 名 称 由 开 发 者 自 己 确 定 ( 比 如 nfc_tech_filter.xml) 该 文 件 列 出 了 下 列 技 术 清 单 集 中 组 件 所 支 持 的 技 术 : 一 旦 生 成 XML NFC 过 滤 器 资 源, ACTION_TECH_DISCOVERED 上 的 intent 过 滤 器 即 为 : 一 旦 IsoDep NfcA NfcB 或 Nfcf 发 现 标 签,Android 系 统 就 会 启 动 组 件 活 动 ( 注 意, 如 果 检 测 到 的 标 签 获 得 了 NDEF 消 息 或 者 注 册 了 用 于 处 理 NDEF intent 的 组 件, 那 么 当 前 应 用 程 序 就 再 也 不 会 接 收 ACTION_TECH_DISCOVERED intent ) 22/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 如 果 开 发 者 希 望 其 组 件 在 IACTION_TAG_DISCOVERED AndroidManifest.xml 文 件 中 声 明 下 列 intent 过 滤 器 : intent 上 实 例 化, 就 必 须 在 2.5 Android NFC 活 动 实 现 如 前 文 所 述, 应 用 程 序 就 是 一 系 列 不 同 类 型 的 组 件 集 合 ( 比 如 活 动 服 务 等 ) 通 过 Android 或 应 用 程 序 本 身 发 送 的 intent, 组 件 可 以 实 现 启 动 此 时, 主 组 件 则 是 由 应 用 程 序 根 据 用 户 的 启 动 应 用 程 序 请 求 进 行 启 动 的 一 旦 在 androidmanifest.xml 文 件 中 声 明 了 活 动 及 与 之 相 关 的 intent 过 滤 器, 活 动 就 可 以 通 过 相 应 的 Java 类 实 现 在 研 究 案 例 中, 开 发 者 需 要 实 现 生 命 周 期 活 动 回 调 NFC intent 处 理 功 能 以 及 最 终 的 NFC 消 息 处 理 这 里 是 工 程 生 成 过 程 中 自 动 产 生 的 MainActvity 的 实 现, 在 开 发 者 需 升 级 以 支 持 NFC 特 性 的 AndroidManifest.xml 中 对 其 进 行 了 引 用 2.5.1 导 入 NFC 包 为 支 持 NFC 功 能, 开 发 者 首 先 需 导 入 NFC Android 包 当 开 发 者 使 用 新 对 象 时, 使 用 Eclipse IDE 就 可 以 自 动 完 成 DocID025722 Rev 1 23/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 2.5.2 NFC 适 配 器 和 前 景 调 度 涉 及 到 NFC 子 系 统, 需 要 检 索 NFC 适 配 器 参 考 在 oncreate() 回 调 中, 开 发 者 抓 取 NFC 适 配 器 参 考 : 为 活 动 类 增 加 新 的 类 成 员 madapter 参 考 允 许 侦 听 扫 描 到 的 标 签 : 检 索 组 件 生 成 上 的 默 认 NFC 适 配 器 : 为 在 活 动 运 行 时 ( 参 见 活 动 生 命 周 期 第 1 级 ) 声 明 应 用 程 序 意 抓 取 NFC intent 并 应 答 所 有 NFC, NFC 调 度 功 能 需 要 在 onresume() 中 调 用, 并 在 onpause() 回 调 中 禁 用 有 了 前 面 的 enableforegrounddispatch(), 当 活 动 处 于 前 景 状 态 时, 就 被 声 明 为 整 个 NFC intent 的 抓 取 者 可 以 增 加 过 滤 器, 仅 抓 取 ACTION_TAG_DISCOVERED 等 特 定 NFC intent 在 onresume() 回 调 中, 就 可 以 声 明 一 个 过 滤 器, 并 如 下 配 置 默 认 NfcAdapter: 2.5.3 Intent 和 NFC 对 象 处 理 如 果 Android 系 统 用 NFC intent 启 动 了 MainActivity, 那 么 活 动 就 需 要 检 索 该 intent 并 进 行 处 理 这 可 以 在 活 动 生 成 (oncreate() 回 调 调 用 ) 上 实 现, 具 体 如 下 所 示 : 24/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 如 果 MainActivity 生 命 周 期 内 ( 比 如 活 动 已 经 处 于 启 动 状 态 ) 检 测 到 新 的 NFC 标 签, 且 活 动 已 处 于 启 动 模 式 并 设 置 为 "singletop", 则 新 的 intent 就 会 发 送 到 处 于 前 景 状 态 的 活 动, 系 统 会 调 用 onnewintent(intent) 回 调 然 后 onnewintent(intent) 回 调 就 可 以 覆 盖 如 下 : 在 该 级 上, 活 动 设 置 为 由 来 自 系 统 的 NDEF intent 启 动, 以 在 NDEF 仍 然 活 动 时 进 行 抓 取 活 动 最 后 必 须 执 行 的 动 作 是 根 据 活 动 设 计 来 处 理 接 收 到 的 NDEF 消 息 接 收 到 的 NDEF intent 携 带 了 所 有 由 HW/SW 底 层 解 析 的 标 签 信 息 DocID025722 Rev 1 25/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 下 面 是 关 于 如 何 处 理 Android NFC 堆 栈 记 录 的 NDEF 消 息 的 示 例 开 发 者 可 以 进 行 升 级, 以 满 足 自 己 的 实 现 需 求 : 26/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 2.5.4 最 终 AndroidManifest.xml 文 件 DocID025722 Rev 1 27/42 41

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 AN4430 2.5.5 最 终 MainActivity 类 文 件 28/42 DocID025722 Rev 1

如 何 针 对 ST 双 存 储 器 生 成 Android 应 用 程 序 DocID025722 Rev 1 29/42 41

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 AN4430 3 如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 用 户 可 能 希 望 使 用 ST-M24SR 和 ST-M24LR 提 供 的 增 强 特 性 由 于 这 些 特 性 不 是 NDEF 专 属, 超 出 了 NFC 论 坛 的 范 畴, 且 Android API 并 不 提 供 这 些 特 性, 用 户 可 以 通 过 Android NFC 技 术 API 和 ST 定 义 ( 或 者 是 用 户 自 定 义, 这 是 对 于 收 发 器 寻 址 使 用 的 情 况 ) 的 专 用 协 议 来 寻 址 发 现 的 NFC 标 签 这 些 学 习 案 例 提 取 自 专 用 的 ST 产 品 Android 应 用 程 序 这 些 应 用 程 序 可 以 Android 应 用 程 序 或 者 Android 应 用 程 序 源 代 码 的 方 式 从 ST 网 站 上 下 载 3.1 M24SR 增 强 特 性 使 用 案 例 CCFile 寻 址 NFC Android 应 用 程 序 开 发 者 可 能 希 望 读 取 存 储 在 每 个 NFC 第 4 类 标 签 中 的 CC 文 件 Android API 不 提 供 访 问 该 种 文 件 的 高 级 接 口 开 发 者 需 要 寻 址 Android 提 供 的 特 定 nfc.technology, 以 发 送 7816-4 命 令 访 问 该 特 定 文 件 一 旦 在 NFC 场 中 发 现 标 签, 当 前 的 前 景 活 动 就 会 抓 取 intent 有 了 该 intent, 作 为 NFC 场 检 测 到 的 物 理 标 签 状 态 的 软 件 表 示, rawtag 可 以 经 下 列 调 用 进 行 提 取 : 如 果 decodetagtype() 方 式 将 标 签 类 型 识 别 为 NFC 论 坛 标 签 第 4 类, NFC 场 中 的 物 理 标 签 就 会 获 得 CCFile 开 发 者 需 要 通 过 一 系 列 命 令 对 其 进 行 请 求, 以 便 读 取 这 些 命 令 都 列 在 ST- M24SR 数 据 手 册 中, 可 从 ST 网 站 上 下 载 30/42 DocID025722 Rev 1

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 在 该 级 上, 假 设 NFC 场 中 的 物 理 标 签 是 可 用 的 防 冲 突 RATS PPS 序 列 都 已 完 成, 可 以 在 读 或 写 模 式 中 访 问 标 签 为 选 择 标 签 (TAG) 并 将 其 设 为 可 访 问 的 模 式,Android 应 用 程 序 向 标 签 发 送 一 条 7816-4 规 范 中 定 义 的 Application To Select 命 令 为 此, 标 签 rawtag 可 映 射 到 IsoDep Android 对 象 上, 以 向 物 理 标 签 发 送 同 步 ATS 命 令 定 义 的 命 令 通 过 IsoDep.tranceive(byte[]) 命 令 发 送 到 标 签 应 用 程 序 然 后 等 待 相 应 的 应 答 ( 应 答 代 码 在 7816-4 规 范 和 M24SR 数 据 手 册 中 列 出 并 进 行 定 义 ) DocID025722 Rev 1 31/42 41

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 AN4430 如 果 transceiveanswer 等 于 0x9000, 那 么 当 前 的 物 理 标 签 就 处 于 应 用 程 序 选 择 模 式, 可 以 寻 址 到 标 签 文 件 结 构 体 32/42 DocID025722 Rev 1

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 同 样, 活 动 可 以 发 送 特 定 命 令 来 寻 址 CCfile CCFile 获 得 一 个 标 准 化 ID:0xE103 为 获 取 CCFile, 应 用 程 序 会 发 送 下 列 消 息 序 列 : 选 择 ID 为 0xE103 的 文 件 读 取 CCFile 文 件 大 小 读 取 先 前 请 求 文 件 大 小 的 二 进 制 表 示 DocID025722 Rev 1 33/42 41

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 AN4430 34/42 DocID025722 Rev 1

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 在 该 级 上, 整 个 CC 文 件 都 存 储 在 由 requestreadbinary 参 数 进 行 设 置 的 缓 存 区 内 然 后 当 前 活 动 可 以 解 析 缓 存 区, 并 填 充 CCFile 结 构 体 对 象 : DocID025722 Rev 1 35/42 41

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 AN4430 利 用 ST 对 象 stnfcchandler 构 造 函 数 3.2 M24LR 增 强 特 性 学 习 读 / 写 15693 标 签 ST M24LR 产 品 基 于 ISO/IEC-15693, Android 系 统 不 提 供 原 生 支 持 在 某 些 Android 手 机 上, 如 果 出 现 的 标 签 是 NDEF 格 式 的, 那 么 Android 系 统 就 会 检 测 标 签 并 解 析 其 中 存 储 的 文 件 如 果 标 签 格 式 不 是 NDEF 消 息, 开 发 者 就 可 以 通 过 发 送 15693-3 标 准 中 定 义 的 标 签 特 定 协 议 命 令 的 方 式, 在 原 始 寻 址 下 从 标 签 中 寻 址 存 储 器 对 于 这 样 的 寻 址 模 式, 开 发 者 可 以 实 现 相 关 的 Android 技 术 标 签, 以 处 理 ST-M24LR 产 品 让 我 们 展 示 一 下 如 何 实 现 可 以 读 取 这 种 标 签 的 活 动 如 前 述 使 用 案 列, 开 发 者 检 索 nfcadapter 并 注 册 活 动, 以 接 收 NFCV 标 签 事 件 在 NFC-V 使 用 案 例 中 声 明 了 intentfilter, 这 样 活 动 就 可 以 通 过 使 用 Android NfcV 技 术 仅 接 收 15693 标 签 事 件 ( 见 mfilter 和 mtechlist) 一 旦 注 册 了 活 动 处 理 NfcV tag intent, OnNewIntent() 回 调 系 统 就 会 被 覆 盖, 以 检 索 标 签 信 息 一 旦 参 考 标 签 从 intent (tagfromintent 标 签 对 象 ) 中 解 析 出 来, 开 发 者 可 以 通 过 使 用 Android API NfcV 向 物 理 标 签 发 送 已 定 义 的 协 议 命 令 ( 我 们 假 设 标 签 仍 在 NFC 场 中, 且 嵌 入 式 NFC 堆 栈 已 完 成 防 冲 突 进 程 ) 36/42 DocID025722 Rev 1

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 DocID025722 Rev 1 37/42 41

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 AN4430 一 旦 识 别 处 标 签 为 符 合 15693 标 准, ST 产 品 就 可 以 读 区 块 或 写 区 块 : 38/42 DocID025722 Rev 1

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 读 示 例 DocID025722 Rev 1 39/42 41

如 何 使 用 ST NFC 包 实 现 HW 的 增 强 特 性 AN4430 写 示 例 40/42 DocID025722 Rev 1

修 订 历 史 4 修 订 历 史 表 1. 文 档 修 订 历 史 日 期 修 订 变 更 内 容 2014 年 2 月 14 日 1 初 始 版 本 DocID025722 Rev 1 41/42 41

请 仔 细 阅 读 : 中 文 翻 译 仅 为 方 便 阅 读 之 目 的 该 翻 译 也 许 不 是 对 本 文 档 最 新 版 本 的 翻 译, 如 有 任 何 不 同, 以 最 新 版 本 的 英 文 原 版 文 档 为 准 本 文 档 中 信 息 的 提 供 仅 与 ST 产 品 有 关 意 法 半 导 体 公 司 及 其 子 公 司 ( ST ) 保 留 随 时 对 本 文 档 及 本 文 所 述 产 品 与 服 务 进 行 变 更 更 正 修 改 或 改 进 的 权 利, 恕 不 另 行 通 知 所 有 ST 产 品 均 根 据 ST 的 销 售 条 款 出 售 买 方 自 行 负 责 对 本 文 所 述 ST 产 品 和 服 务 的 选 择 和 使 用,ST 概 不 承 担 与 选 择 或 使 用 本 文 所 述 ST 产 品 和 服 务 相 关 的 任 何 责 任 无 论 之 前 是 否 有 过 任 何 形 式 的 表 示, 本 文 档 不 以 任 何 方 式 对 任 何 知 识 产 权 进 行 任 何 明 示 或 默 示 的 授 权 或 许 可 如 果 本 文 档 任 何 部 分 涉 及 任 何 第 三 方 产 品 或 服 务, 不 应 被 视 为 ST 授 权 使 用 此 类 第 三 方 产 品 或 服 务, 或 许 可 其 中 的 任 何 知 识 产 权, 或 者 被 视 为 涉 及 以 任 何 方 式 使 用 任 何 此 类 第 三 方 产 品 或 服 务 或 其 中 任 何 知 识 产 权 的 保 证 除 非 在 ST 的 销 售 条 款 中 另 有 说 明, 否 则,ST 对 ST 产 品 的 使 用 和 / 或 销 售 不 做 任 何 明 示 或 默 示 的 保 证, 包 括 但 不 限 于 有 关 适 销 性 适 合 特 定 用 途 ( 及 其 依 据 任 何 司 法 管 辖 区 的 法 律 的 对 应 情 况 ), 或 侵 犯 任 何 专 利 版 权 或 其 他 知 识 产 权 的 默 示 保 证 意 法 半 导 体 的 产 品 不 得 应 用 于 武 器 此 外, 意 法 半 导 体 产 品 也 不 是 为 下 列 用 途 而 设 计 并 不 得 应 用 于 下 列 用 途 :(A) 对 安 全 性 有 特 别 要 求 的 应 用, 例 如, 生 命 支 持 主 动 植 入 设 备 或 对 产 品 功 能 安 全 有 要 求 的 系 统 ;(B) 航 空 应 用 ;(C) 汽 车 应 用 或 汽 车 环 境, 且 / 或 (D) 航 天 应 用 或 航 天 环 境 如 果 意 法 半 导 体 产 品 不 是 为 前 述 应 用 设 计 的, 而 采 购 商 擅 自 将 其 用 于 前 述 应 用, 即 使 采 购 商 向 意 法 半 导 体 发 出 了 书 面 通 知, 采 购 商 仍 将 独 自 承 担 因 此 而 导 致 的 任 何 风 险, 意 法 半 导 体 的 产 品 设 计 规 格 明 确 指 定 的 汽 车 汽 车 安 全 或 医 疗 工 业 领 域 专 用 产 品 除 外 根 据 相 关 政 府 主 管 部 门 的 规 定,ESCC QML 或 JAN 正 式 认 证 产 品 适 用 于 航 天 应 用 经 销 的 ST 产 品 如 有 不 同 于 本 文 档 中 提 出 的 声 明 和 / 或 技 术 特 点 的 规 定, 将 立 即 导 致 ST 针 对 本 文 所 述 ST 产 品 或 服 务 授 予 的 任 何 保 证 失 效, 并 且 不 应 以 任 何 形 式 造 成 或 扩 大 ST 的 任 何 责 任 ST 和 ST 徽 标 是 ST 在 各 个 国 家 或 地 区 的 商 标 或 注 册 商 标 本 文 档 中 的 信 息 取 代 之 前 提 供 的 所 有 信 息 ST 徽 标 是 意 法 半 导 体 公 司 的 注 册 商 标 其 他 所 有 名 称 是 其 各 自 所 有 者 的 财 产 2014 STMicroelectronics 保 留 所 有 权 利 意 法 半 导 体 集 团 公 司 澳 大 利 亚 - 比 利 时 - 巴 西 - 加 拿 大 - 中 国 - 捷 克 共 和 国 - 芬 兰 - 法 国 - 德 国 - 中 国 香 港 - 印 度 - 以 色 列 - 意 大 利 - 日 本 - 马 来 西 亚 - 马 耳 他 - 摩 洛 哥 菲 律 宾 新 加 坡 - 西 班 牙 - 瑞 典 - 瑞 士 - 英 国 - 美 国 www.st.com 42/42 DocID025722 Rev 1