《ANDROID物联网开发细致入门与最佳实践》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:李天祥编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2016
  • ISBN:7113216962
  • 页数:534 页
图书介绍:

第1章 Android系统介绍 1

1.1 智能手机系统概述 1

1.1.1 昨日王者——Symbian(塞班) 1

1.1.2 谷歌公司的Android 2

1.1.3 Mac公司的iOS 3

1.1.4 微软公司的Windows Phone 3

1.1.5 黑莓公司的Blackberry OS 4

1.2 总结Android的核心优势 5

1.2.1 强有力的业界支持 5

1.2.2 研发阵容强大 5

1.2.3 为开发人员“精心定制” 5

1.2.4 开源 6

1.3 Android系统架构概览 6

1.3.1 底层操作系统层(OS) 7

1.3.2 运行库(Libraries)和Android运行环境(RunTime) 7

1.3.3 Application Framework(应用程序框架) 8

1.3.4 顶层应用程序(Application) 8

1.4 核心组件 8

1.4.1 Activity界面 8

1.4.2 Intent和Intent Filters 9

1.4.3 Service服务 9

1.4.4 Broadcast Receiver发送广播 10

1.4.5 用Content Provider存储数据 10

1.5 物联网技术改变未来 11

1.5.1 什么是物联网 11

1.5.2 发展历程 11

1.5.3 Android正在成为物联网标准操作系统 12

1.6 Android智能设备蓬勃发展 13

1.6.1 常见的Android智能设备 13

1.6.2 新兴热点——可穿戴设备 15

1.6.3 可穿戴设备的发展前景分析 18

1.6.4 Android对穿戴设备的支持——Android Wear 19

第2章 搭建Android开发环境 20

2.1 获取Android源码 20

2.1.1 在Linux系统获取Android源码 20

2.1.2 在Windows平台获取Android源码 21

2.2 编译源码 27

2.2.1 常见的错误分析 28

2.2.2 实践演练——演示两种编译Android程序的方法 29

2.3 搭建Android应用开发环境 33

2.3.1 安装JDK 34

2.3.2 获取并安装Eclipse和Android SDK 37

2.3.3 快速安装SDK 39

2.3.4 安装ADT 40

2.3.5 验证设置 42

2.3.6 创建Android虚拟设备(AVD) 44

2.3.7 启动AVD模拟器 46

第3章 传输网络数据 48

3.1 HTTP通信 48

3.1.1 使用HTTP传输数据 48

3.1.2 使用Apache接口传输数据 49

3.1.3 使用java.net传输数据 54

3.1.4 使用Android网络接口传输数据 56

3.1.5 实例3-1:在物联网设备屏幕中传递HTTP参数 57

3.1.6 实例3-2:在物联网设备中访问HTTP地图 60

3.2 使用Socket传输数据 62

3.2.1 Socket Java网络开发基础 63

3.2.2 使用TCP协议传输数据 64

3.3 下载远程数据 66

3.3.1 实例3-3:在物联网设备中下载网络服务器中的图片 67

3.3.2 实例3-4:下载并播放网络MP3 67

3.4 远程上传数据 73

3.4.1 实例3-5:上传物联网设备中的文件到远程服务器 73

3.4.2 实例3-6:在物联网设备中采用GET方式向服务器传递数据 75

3.5 处理XML数据 79

3.5.1 XML的概述 79

3.5.2 XML的语法 79

3.5.3 实例3-7:在物联网中使用SAX解析XML数据 80

3.5.4 实例3-8:在物联网中使用DOM解析XML数据 83

第4章 使用蓝牙传输数据 85

4.1 蓝牙传输技术介绍 85

4.2 BLE蓝牙传输技术介绍 86

4.2.1 低功耗蓝牙的架构 86

4.2.2 低功耗蓝牙分类 87

4.2.3 低功耗蓝牙的特点 88

4.2.4 BLE和传统蓝牙BR/EDR的对比 88

4.3 蓝牙规范 89

4.3.1 Bluetooth常用规范 89

4.3.2 蓝牙协议体系结构 90

4.3.3 低功耗(BLE)蓝牙协议 91

4.4 低功耗蓝牙协议栈 92

4.4.1 什么是低功耗蓝牙协议栈? 92

4.4.2 蓝牙协议体系中的协议 93

4.5 TI公司的低功耗蓝牙解决方案 95

4.5.1 获取蓝牙协议栈 95

4.5.2 BLE蓝牙协议栈结构 96

4.5.3 BLE低功耗蓝牙系统架构 98

4.5.4 硬件抽象层HAL和BLE低功耗蓝牙协议栈 99

第5章 Android蓝牙系统详解 104

5.1 Android系统中的蓝牙模块 104

5.2 和蓝牙相关的接口类 106

5.2.1 BluetoothSocket类 106

5.2.2 BluetoothServerSocket类 107

5.2.3 BluetoothAdapter类 108

5.2.4 BluetoothClass.Service类 115

5.2.5 BluetoothClass.Device类 115

5.3 Android中的低功耗蓝牙协议栈 116

5.3.1 低功耗蓝牙协议栈基础 116

5.3.2 低功耗蓝牙API详解 116

5.4 实例5-1:使用蓝牙控制电风扇的转动 127

第6章 物联网语音识别开发详解 140

6.1 语音识别技术概述 140

6.1.1 语音识别技术的发展历史 140

6.1.2 语音识别技术的发展历程 141

6.2 Text-To-Speech语音识别技术 141

6.2.1 Text-To-Speech基础 141

6.2.2 总结Text-To-Speech开发流程 142

6.2.3 实例6-1:使用Text-To-Speech实现语音识别 145

6.2.4 实例6-2:物联网中文语音识别 147

6.3 Voice Recognition语音识别技术 151

6.3.1 Voice Recognition技术基础 152

6.3.2 实例6-3:使用Voice Recognition实现语音识别 154

6.4 实例6-4:将物联网设备中的提醒文字转换为语音 157

第7章 物联网设备手势识别 162

7.1 Android事件监听机制详解 162

7.1.1 总结Android中的监听事件 162

7.1.2 Android事件侦听器的回调方法 163

7.1.3 Android事件处理模型 165

7.1.4 基于自定义监听器的事件处理 166

7.2 手势识别开发详解 168

7.2.1 手势识别类GestureDetector 168

7.2.2 手势检测器类GestureDetector 169

7.2.3 手势识别处理事件和方法 172

7.3 实例7-1:通过单击的方式移动图片 172

7.4 实例7-2:实现常用的手势识别操作 176

7.5 实例7-3:实现手势翻页效果 179

第8章 在物联网设备中处理多媒体数据 186

8.1 Android多媒体系统架构基础 186

8.1.1 OpenMax框架介绍 187

8.1.2 OpenCore框架介绍 188

8.1.3 Stagefright框架介绍 189

8.2 Graphics类详解 190

8.2.1 Graphics类基础 190

8.2.2 使用Graphics类 190

8.2.3 实例8-1:在物联网设备中使用矩形类Rect和RectF 191

8.3 二维动画 194

8.3.1 类Drawable 194

8.3.2 实现Tween动画效果 196

8.3.3 实例8-2:在物联网设备中实现Tween动画效果 196

8.3.4 实例8-3:演示Tween动画的四种动画效果 198

8.3.5 实现Frame动画效果 202

8.4 OpenGL ES详解 203

8.4.1 OpenGL ES基础 203

8.4.2 Android用到OpenGL ES 204

8.4.3 OpenGL ES的基本操作 204

8.4.4 实例8-4:使用OpenGL ES绘制一个正方形 208

8.5 音频开发 211

8.5.1 音频接口类 211

8.5.2 AudioManager控制铃声 213

8.5.3 实例8-5:设置短信提示铃声 215

8.6 录音详解 221

8.6.1 使用MediaRecorder接口录制音频 221

8.6.2 使用AudioRecord接口录音 224

8.7 在物联网设备中播放音乐 226

8.7.1 使用AudioTrack播放音频 227

8.7.2 使用MediaPlayer播放音频 227

8.7.3 使用SoundPool播放音频 228

第9章 Android传感器系统架构详解 229

9.1 Android传感器系统概述 229

9.2 Android传感器应用开发基础 231

9.2.1 查看包含的传感器 231

9.2.2 模拟器测试工具——SensorSimulator 232

9.2.3 实例9-1:检测当前设备支持的传感器 236

第10章 光线传感器和磁场传感器开发详解 239

10.1 光线传感器详解 239

10.1.1 光线传感器介绍 239

10.1.2 使用光线传感器的方法 240

10.1.3 实例10-1:获取物联网设备中光线传感器的值 241

10.1.4 实例10-2:显示物联网设备中光线传感器的强度 243

10.2 磁场传感器详解 245

10.2.1 Android系统中的磁场传感器 246

10.2.2 实例10-3:获取物联网设备中磁场传感器的三个分量 246

10.2.3 实例10-4:在物联网设备中使用磁场传感器 248

第11章 加速度传感器、方向传感器和陀螺仪传感器 258

11.1 加速度传感器详解 258

11.1.1 Android系统中的加速度传感器 258

11.1.2 实例11-1:获取X、Y、Z轴的加速度值 259

11.1.3 实例11-2:在物联网设备中实现仿微信“摇一摇”效果 261

11.2 方向传感器详解 266

11.2.1 Android中的方向传感器 266

11.2.2 实例11-3:测试当前物联网设备的三个方向值 267

11.2.3 实例11-4:在物联网设备中开发指南针程序 269

11.3 陀螺仪传感器开发详解 271

11.4 实例11-5:在物联网设备中使用加速度传感器和陀螺传感器 272

第12章 旋转向量传感器、距离传感器和气压传感器 286

12.1 旋转向量传感器开发详解 286

12.1.1 Android中的旋转向量传感器 286

12.1.2 实例12-1:确定当前物联网设备的方向 287

12.2 距离传感器开发详解 295

12.2.1 Android系统中的距离传感器 295

12.2.2 实例12-2:实现自动锁屏功能 297

12.3 气压传感器开发详解 303

12.3.1 气压传感器在智能手机中的应用 303

12.3.2 实例12-3:实现一个Android气压计 303

第13章 温度传感器和湿度传感器 312

13.1 温度传感器开发详解 312

13.1.1 Android系统中温度传感器 312

13.1.2 实例13-1:开发一个物联网温度计 314

13.1.3 实例13-2:测试设备电源的温度 316

13.2 湿度传感器开发详解 329

13.2.1 Android系统中的湿度传感器 329

13.2.2 实例13-3:获取远程湿度传感器的数据 330

第14章 物联网条形码识别开发详解 336

14.1 Android拍照系统结构基础 336

14.2 Camera系统底层架构分析 339

14.2.1 V4L2 API介绍 339

14.2.2 总结操作V4L2的流程 340

14.2.3 V4L2驱动框架 342

14.2.4 实现Video核心层 343

14.3 Camera系统的硬件抽象层 346

14.3.1 Android 2.1 及其以前的版本 347

14.3.2 Android 2.2 及其以后的版本 348

14.3.3 实现Camera硬件抽象层 349

14.4 Camera系统的Java部分 350

14.5 开发拍照应用程序 357

14.5.1 通过Intent调用系统的照相机Activity 357

14.5.2 调用Camera API拍照 358

14.5.3 总结Camera拍照的流程 359

14.6 解析二维码 361

14.6.1 QR Code码的特点 361

14.6.2 实例14-1:使用Android设备解析二维码 362

第15章 物联网NFC近场通信开发详解 371

15.1 近场通信技术基础 371

15.1.1 NFC技术的特点 371

15.1.2 NFC的工作模式 372

15.1.3 NFC和蓝牙的对比 372

15.2 射频识别开发技术概览 373

15.2.1 RFID技术简介 373

15.2.2 RFID技术的组成 373

15.2.3 RFID技术的特点 374

15.2.4 RFID技术的工作原理 375

15.3 Android系统中的NFC 375

15.3.1 分析Java层 376

15.3.2 分析JNI部分 392

15.3.3 分析底层 397

15.4 总结开发NFC APP的方法 397

15.5 综合实例:在物联网设备中使用NFC发送消息 401

第16章 物联网穿戴开发技术详解 406

16.1 Google Now开发基础 406

16.1.1 Google Now介绍 406

16.1.2 Google Now的用法 407

16.2 Android Wear详解 409

16.2.1 什么是Android Wear 409

16.2.2 搭建Android Wear开发环境 411

16.3 开发Android Wear程序 415

16.3.1 创建通知 415

16.3.2 创建声音 418

16.3.3 给通知添加页面 421

16.3.4 通知堆 422

16.3.5 通知语法介绍 423

16.4 实例16-1:开发一个Android Wear程序 424

16.5 实例16-2:实现手机和Android Wear的交互 431

第17章 Android智能家居系统 445

17.1 需求分析 445

17.1.1 背景介绍 445

17.1.2 传感技术的推动 446

17.1.3 Android与智能家居的紧密联系 446

17.2 系统功能模块介绍 447

17.3 系统主界面 447

17.3.1 实现布局文件 447

17.3.2 实现程序文件 448

17.4 系统设置 450

17.4.1 总体配置 450

17.4.2 系统总体配置 450

17.4.3 构建数据库 453

17.5 家用电器控制模块 455

17.5.1 家用电器控制主界面 456

17.5.2 温度控制界面 458

17.5.3 电灯控制界面 459

17.6 快速预案管理模块 462

17.6.1 天气情况 462

17.6.2 历史数据 467

17.6.3 系统设置 470

第18章 Android健康心率计系统 476

18.1 系统介绍 476

18.1.1 什么是心率 476

18.1.2 系统功能 477

18.2 具体实现 477

18.2.1 扫描蓝牙设备 477

18.2.2 蓝牙控制界面 480

18.2.3 蓝牙BLE设备适配器 489

18.2.4 蓝牙BLE服务适配器 491

18.2.5 传感器测试心率 494

18.2.6 图形化显示心率值 495

第19章 Android行车记录仪 498

19.1 选择线路规划目的地 498

19.1.1 系统主Activity界面 498

19.1.2 布局文件capture.xml 501

19.2 Adapter适配器处理 503

19.3 生成骑行路线图 506

19.3.1 实时导航服务 506

19.3.2 线路计划监听服务 507

19.3.3 线路任务服务 507

19.3.4 在地图中显示行驶线路 509

19.3.5 生成导航视图 509

19.4 街道分析 511

19.5 海拔数据分析 513

第20章 Android多功能电视盒子 515

20.1 AndroidTV介绍 515

20.2 系统模块结构 516

20.3 系统主界面 517

20.3.1 系统主界面布局 517

20.3.2 系统主界面Activity 518

20.4 本地服务 526

20.4.1 本地服主务界面 526

20.4.2 应用程序管理界面 530

附录A 534

A.1 编译Android Kernel 534

A.1.1 获取Goldfish内核代码 534

A.1.2 获取MSM内核代码 537

A.1.3 获取OMAP内核代码 537

A.1.4 编译Android的Linux内核 537

附录B 540

B.1 Android蓝牙系统架构分析 540

B.1.1 初始化蓝牙芯片 540

B.1.2 蓝牙服务 541

B.1.3 管理蓝牙电源 542

B.2 Android BlueDroid架构详解 542

B.2.1 Android系统中BlueDroid的架构 542

B.2.2 Application Framework层分析 542

B.2.3 分析Bluetooth System Service层 550

B.2.4 JNI层详解 551

B.2.5 HAL层详解 556

附录C 557

C.1 传感器之Java层详解 557

C.2 传感器之Frameworks层详解 563

C.2.1 监听传感器的变化 563

C.2.2 注册监听 563

C.3 传感器之JNI层详解 575