Android传感器高级编程

2013年清华大学出版社出版的图书
《Android传感器高级编程》是2013年12月1日清华大学出版社出版的图书，作者是米内特 (Greg Milette)、斯川德 (Adam Stroud)。
内容简介
如果想要创建真正了不起的Android 应用，就必须知道如何利用Android的所有功能。本书会利用你所需的知识和代码来武装你，帮助你很好地利用Android中的传感器。从确定智能手机的位置和解释物理传感器，到处理图像、音频和识别语音，你将学会如何有效地调用传感器相关的API。
图书目录
第1部分位置服务
第1章Android位置服务简介
1.1用于确定位置的方法
1.1.1GPS提供者
1.1.2网络提供者
（Network Provider）
1.2小结
第2章确定设备当前位置
2.1了解你的工具
2.1.1LocationManager
2.1.2 Location Provider
2.1.3 Location
2.1.4 Crite血
2.1.5LocationListener
2.2设置Android清单
2.3确定合适的位置提供者
2.3.1GPS位置提供者
2.3.2网络位置提供者
2.3.3被动位置提供者
2.3.4精确度与电池寿命
2.4获取位置更新
2.4.1使用LocationListener获取位置更新
2.4.2使用广播Intent来获取位置更新
2.5实现示例应用
2.5.1实现LocationListener
2.5.2获取LocationManager的句柄
2.5.3请求位置更新
2.5.4自行清理
2.5.5启动位置设置活动
2.6小结
第3章跟踪设备的移动
3.1收集位置数据
3.1.1使用广播接收器获取位置更新
3.1.2使用服务
3.2查看跟踪数据
3.3过滤位置数据
3.4持续的位置跟踪和电池寿命
3 .4.1减少位置更新频率
3.4.2限制位置提供者
3.5小结
第4章接近警报
4.1应用结构
4.1.1地理编码
4.1.2设置接近警报
4.1.3对接近警报做出响应
4.2接近警报的局限性
4.2.1电池寿命
4.2.2权限
4.3更有效的接近警报
4.4小结
第n部分推断来自物理传感器的信息
第5章物理传感器概述
5.1定义
5.2 Android传感器API
5.2.1 SensorManager
5.2.2SenSOr
5.2.3传感器速率
5.2.4传感器范围和分辨率
5.2.5SensorEventListener
5.2.6SensorEvent
5.2.7 Sensor LiSt
5.3感知环境
5.3.1Sensor.TYPELIGHT
5.3.2 Sensor.TYPE_PROXIMITY
5.3.3 Sensor.TYPE._ PRESSURE
5.3.4Sensor.TYPE RELATIVEHUMIDITY
5.3.5Sensor.TYPE.AMBIENTTEMPERATURE
5.3.6Sensor.TYPETEMPERATURE
5.4感知设备方向和移动
5.4.1坐标系
5.4.2全局坐标系
5.4.3设备坐标系
5.4.4角度
5.4.5 Sensor.TYPE ACCELEROME-TER、TYPE GRAVITY以及TYPE LINEARACCELERATION
5.4.6 Sensor.TYPEGYROSCOPE
5.4.7 Sensor.TYPE_MAGNETICFIELD
5.4.8 Sensor.TYPE ROTATIONVECTOR
5.4.9 SensorManagergetOrientation（）
5.4.10 SensorManager.getInclination（）
5.4.11传感器融合方案
5.5小结
第6章误差及传感器信号处理
6.1定义
6.1.1准确度和精确度
6.1.2误差类型
6.1.3修正误差的技术
6.2滤波器
6.2.1低通滤波
6.2.2高通滤波
6.2.3带通滤波
6.2.4Kalman滤波器的介绍
6.3使用传感器融合技术更好地确定方向
6.4小结
第7章确定设备方向
7.1预览示例应用
7.2确定设备方向
7.2.1重力传感器
7.2.2加速计和磁强计
7.2.3重力传感器和磁强计
7.2.4旋转矢量
7.2.5详细实现
7.3 NorthFinder
7.4小结
第8章检测运动
8.1加速度数据
8.1.1加速计数据
8.1.2线性加速度传感器数据
8.1.3设备运动时的数据
8.1.4总加速度
8.2代码实现
8.2.1 DetermineMovementActivity
8.2.2 AccelerationEventListener
8.3小结
第9章感知环境
9.1气压计与GPS
9.2示例应用概述
9.2.1详细实现
9.2.2相对海拔高度
9.3小结
第10章Android开放外设
10.1概述AOA的历史
10.1.1USB主机与USB外设
10.1.2电源要求
10.1.3支持的Android设备
10.2 Android开发包（ADK）
10.2.1硬件组件
10.2.2软件组件
10.3 AOA传感器与设备本地传感器
10.4传感器之外的AOA
10.5AOA的局限性
10.6 AOA和温度感知
10.7将Android外设放至消费者市场
10.8小结
第Ⅲ部分感知增强的、模式丰富的外部世界
第11章近场通信（NFC）
11.1 RFID
11.2NFC
11.2.1 NDEF数据格式
11.2.2如何以及从哪里购买NFC标签
11.2.3 NFC的优点和缺点
11.3构建一个库存跟踪系统
11.3.1场景
11.3.2 NFC库存演示应用
11.3.3在设置中启用NFC
11.3.4通过应用调试标签
11.4 AndroidAPI
11.4.1AndroidManifest.xml文件
11.4.2主Activtity类
11.4.3整合
11.5未来的设想
11.5.1 NFC N-Mark
11.5.2点对点NFC共享
11.5.3点对点Android API
11.6 NFC的新应用
11.7小结
第12章使用摄像头
12.1使用摄像头ActiVity
12.1.1使用Activity控制
摄像头
12.1.2控制摄像头
12.2创建一个简单的条形码读取器
12.2.1了解条形码
12.2.2自动对焦
12.2.3检测条形码
12.3小结
第13章图像处理技术
13.1图像处理程序的结构
13.1.1图像处理管道
13.1.2常用的图像处理操作
13.1.3 JJIL
13.1.4 JnL与检测Android logo
13.2人脸探测
13.3图像处理资源
13.4小结
第14章使用麦克风
14.1介绍Android声控开关
14.2使用MediaRecorder分析最大振幅
14.2.1录制最大振幅
14.2.2异步音频录制
14.3实现声控开关
14.4分析原始音频
14.4.1设置音频输入参数
14.4.2准备AudioRecord
14.4.3录制音频
14.4.4使用OnRecordPosition-UpdateLiStener
14.5使用巨响检测
14.6使用一致的频率检测
14.6.1预测频率
14.6.2实现乐音声控开关
14.7小结
第Ⅳ部分与Android对话
第15章设计带语音功能的应用
15.1了解你的工具
15.2用户界面屏幕流
15.3语音操作类型
15.4语音用户界面设计
15.4.1决定适合语音操作的任务
15.4.2设计应用和用户所说的内容
15.4.3设计完成之后
15.5测试设计
15.6小结
15.7参考文献
第16章使用语音识别和文本转语音API
16.1文本转语音
16.1.1初始化
16.1.2朗读
16.2语音识别
16.2.1初始化
16.2.2使用Recognizer Intent
16.2.3使用SpeechRecognizer的直接语音识别
16.3小结
第17章匹配所说的话
17.1语音命令的各个部分
17.2单词识别
17.3匹配持久化存储中的
命令单词
17.3.1 SQLite全文本搜索
17.3.2使用Lucene进行单词搜索
17.4多部分命令
17.4.1忽略潜在的冲突
17.4.2考虑顺序
17.5使用语法
17.6小结
第18章执行语音操作
18.1食物对话VUI设计
18.2定义和执行语音操作
18.3执行VoiceActionCommand
18.4为语音操作实现AlertDialog
18.5实现多轮次语音操作
18.5.1实现多轮次AddFood
18.5.2实现多轮次RemoveFood
18.6做出最佳猜测
18.6.1放宽匹配的严格度
18.6.2放宽命令之间的严格度
18.6.3做出有根据的猜测
18.7在识别失败时做出响应
18.7.1确定不是命令
18.7.2确定不准确的识别
18.7.3没有理解
18.8小结
第19章实现语音激活
19.1实现语音激活
19.1.1启动语音识别
19.1.2在Activity中实现语音激活
19.1.3使用移动检测激活语音识别
19.1.4使用麦克风激活语音识别
19.1.5使用持续的语音识别激活语音识别
19.1.6使用NFC激活语音识别
19.2实现持久的语音激活
19.3小结