扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

Android物联网感染细致入门与最佳实践

综合评级:
★★★★★

定价:
¥79.00

作者:
李天祥

出版社:
中国铁道

出版日期:
2016/06/01

页数:
533

ISBN:
9787113216962

书籍介绍

本书循序渐进地讲解了基于Android系统开发物联网应用程序的基本知识、关键技术和实战流程。在讲解每一个知识时,都遵循了理论联系实际的讲解方式,从内核分析到接口API实现,再到实战演练,最后到综合实例演练,彻底剖析了开发物联网项目的完整实现流程。

作者简介

哈尔滨工业大学计算机博士,资深Android开发工程师和物联网工程师。2008年创立个人计算机第三方服务公司,主要为欧美一线品牌开发中间件业务。基于Android平台的物联网研发一直是*擅长的领域。

目录

第1章 Android系统介绍

1.1 智能手机系统概述 1

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

1.1.2 谷歌公司的Android2

1.1.3 Mac公司的iOS3

1.1.4 微软公司的WindowsPhone 3

1.1.5 黑莓公司的BlackberryOS 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和IntentFilters 9

1.4.3 Service服务9

1.4.4 Broadcast Receiver发送广播 10

1.4.5 用ContentProvider存储数据 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开发环境

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章 传输网络数据

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章 使用蓝牙传输数据

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蓝牙系统详解

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章 物联网语音识别开发详解

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章 物联网设备手势识别

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 手势识别类GestureDetector168

7.2.2 手势检测器类GestureDetector169

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

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

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

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

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

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 类Drawable194

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用到OpenGLES 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传感器系统架构详解

9.1 Android传感器系统概述 229

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

9.2.1 查看包含的传感器231

9.2.2 模拟器测试工具——

SensorSimulator 232

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

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

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章 加速度传感器、方向传感器和陀螺仪传感器

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章 旋转向量传感器、距离传感器和气压传感器

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章 温度传感器和湿度传感器

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章 物联网条形码识别开发详解

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 调用CameraAPI拍照 358

14.5.3 总结Camera拍照的流程 359

14.6 解析二维码 361

14.6.1 QR Code码的特点 361

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

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

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系统中的NFC375

15.3.1 分析Java层 376

15.3.2 分析JNI部分 392

15.3.3 分析底层 397

15.4 总结开发NFC APP的方法 397

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

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

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 什么是AndroidWear 409

16.2.2 搭建AndroidWear开发环境 411

16.3 开发AndroidWear程序 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智能家居系统

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健康心率计系统

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行车记录仪

19.1 选择线路规划目的地498

19.1.1 系统主Activity界面 498

19.1.2 布局文件capture.xml501

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多功能电视盒子

20.1 Android TV介绍 515

20.2 系统模块结构 516

20.3 系统主界面 517

20.3.1 系统主界面布局517

20.3.2 系统主界面Activity518

20.4 本地服务 526

20.4.1 本地服主务界面526

20.4.2 应用程序管理界面530

注:以下内容读者可在源代码下载包中学习使用。

附录A

A.1 编译AndroidKernel 534

A.1.1 获取Goldfish内核代码 534

A.1.2 获取MSM内核代码 537

A.1.3 获取OMAP内核代码 537

A.1.4 编译Android的Linux内核 537

附录B

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 分析BluetoothSystem

Service层 550

B.2.4 JNI层详解 551

B.2.5 HAL层详解 556

附录C

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

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

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

C.2.2 注册监听 563

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