第1章 物联网编程与群智感知 1
1.1 物联网与泛群感知 1
1.2 泛群感知基本概念 2
1.3 群智感知网络的基本特征 3
1.4 群智感知网络的系统结构 4
1.5 群智感知网络的典型应用 5
1.6 群智感知与安卓应用开发 10
1.6.1 Android简介 10
1.6.2 搭建Android开发环境 12
第2章 Android应用初步 15
2.1 应用基础 16
2.2 创建Android项目 17
2.3 Android工作区导航 19
2.4 用户界面设计 20
2.4.1 视图层级结构 24
2.4.2 组件属性 26
2.4.3 创建字符串资源 27
2.4.4 预览界面布局 28
2.5 从布局XML到视图对象 29
2.6 组件的实际应用 33
2.6.1 类包组织导入 34
2.6.2 引用组件 34
2.6.3 设置监听器 35
2.7 使用模拟器运行应用 41
2.8 Android编译过程 42
第3章 Android与MVC设计模式 45
3.1 创建新类 46
3.2 Android与MVC设计模式 49
3.3 更新视图层 50
3.4 更新控制层 53
3.5 在设备上运行应用 57
3.5.1 连接设备 57
3.5.2 配置设备用于应用开发 57
3.6 添加图标资源 59
3.6.1 向项目中添加资源 59
3.6.2 在XML文件中引用资源 60
3.7 挑战练习一:为TextView添加监听器 62
3.8 挑战练习二:添加后退按钮 62
3.9 挑战练习三:从按钮到图标按钮 62
第4章 Activity的生命周期 65
4.1 日志跟踪理解Activity生命周期 66
4.1.1 输出日志信息 66
4.1.2 使用LogCat 69
4.2 设备旋转与Activity生命周期 73
4.2.1 设备配置与备选资源 74
4.2.2 创建水平模式布局 74
4.3 设备旋转前保存数据 80
4.4 再探Activity生命周期 83
4.5 深入学习:测试onSaveInstanceState(Bundle)方法 84
4.6 深入学习:日志记录的级别与方法 85
4.7 挑战 87
第5章 传感器API概述 88
5.1 传感器概述 89
5.1.1 传感器是什么 89
5.1.2 传感器的分类 89
5.2 改进SensorTest程序 91
5.2.1 回顾 91
5.2.2 传感器API 91
5.2.3 SensorEvent 95
5.3 使用传感器数据 98
5.3.1 使用相对布局的好处 99
5.3.2 对SensorEvent封装的数据进行操作 106
5.4 不同传感器信息的显示 107
5.4.1 完善SensorTest 108
5.4.2 修改onSensorChanged() 110
5.5 传感器类型 112
5.6 有关Sensor的物理概念 113
第6章 第二个Activity 114
6.1 创建第二个Activity 115
6.1.1 创建新布局 115
6.1.2 创建新的Activity子类 119
6.1.3 在manifest配置文件中声明ConfigActivity 119
6.1.4 为SensorActivity添加Config按钮 121
6.2 启动Activity 123
6.2.1 基于Intent的通信 123
6.2.2 显式与隐式Intent 125
6.3 Activity间的数据传递 125
6.3.1 使用Intentextra 126
6.3.2 从子Activity获取返回结果 130
6.4 Activity的使用与管理 142
第7章 位置管理器 146
7.1 Android位置服务API 147
7.1.1 LocationManager 147
7.1.2 获取位置更新 148
7.1.3 LocationProvider 148
7.1.4 Location 148
7.1.5 Criteria 149
7.2 LocationListener 150
7.2.1 获取LocationManager系统服务 150
7.2.2 确定使用的位置数据源 151
7.2.3 设置LocationListener监听器 151
7.2.4 注册LocationListener监听器 153
第8章 Funf开源感知框架 156
8.1 Funf Journal 156
8.2 Funf开源感知框架概述 160
8.3 设计Probe接口 162
8.3.1 Probe接口的实现 162
8.3.2 getData()的实现 163
8.3.3 通过回调方式发送数据 166
8.3.4 发送数据 167
8.3.5 修改LocationProbe 169
8.3.6 实现ProbeTest 170
8.4 BasicPipeline 173
8.4.1 处理保存数据的BasicPipeline 173
8.4.2 BasicPipeline的使用 176
8.5 FunfManager 178
8.5.1 Android Service 179
8.5.2 FunfManager Service 180
第9章 利用Funf实现情境感知 187
9.1 情境与情境感知 187
9.1.1 情境 187
9.1.2 情境感知(Context-Aware) 187
9.2 总体框架设计 188
9.2.1 感知层 188
9.2.2 推理层 189
9.2.3 应用层 191
9.3 系统实现 191
9.3.1 感知层实现 191
9.3.2 推理层实现 191
9.3.3 应用层实现 213
参考文献 217