《Android外设开发实战》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:薛伟,陈强编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302401827
  • 页数:622 页
图书介绍:本书详细讲解了基于Android系统开发外设程序的基本知识,包括Android开发技术基础、搭建Android应用开发环境、获取并编译源码、Android技术核心框架分析、Android传感器系统分析、Android传感器系统,然后分别讲解了开发大型智能家居系统、健康仪器系统、智能电视系统、车载系统、智能眼镜系统和恒温系统等项目的具体实现。本书几乎涵盖了当今主流的Android外设项目,讲解方法通俗易懂,所有实例具有很强的代表性。

第1篇 基础知识篇 2

第1章 Android系统介绍 2

1.1 纵览主流智能设备系统 2

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

1.1.2 高贵华丽——iOS 3

1.1.3 全新面貌——Windows Phone 3

1.1.4 高端商务——BlackBerry OS(黑莓) 4

1.1.5 本书的主角——Android 5

1.2 分析Android成功的秘诀 6

1.2.1 强有力的业界支持 6

1.2.2 研发阵容强大 6

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

1.2.4 开源 7

1.3 Android智能设备来袭 7

1.3.1 常见的Android智能设备 8

1.3.2 新兴热点——可穿戴设备 9

1.3.3 可穿戴设备的发展前景分析 11

1.3.4 Android对穿戴设备的支持——Android Wear 12

第2章 获取并编译Android源码 14

2.1 在Linux系统中获取Android源码 14

2.2 在Windows平台获取Android源码 15

2.3 编译源码 18

2.3.1 搭建编译环境 18

2.3.2 开始编译 19

2.3.3 在模拟器中运行 20

2.3.4 常见的错误分析 20

2.4 实战演练——演示两种编译Android程序的方法 21

2.4.1 编译Native C(本地C程序)的helloworld模块 22

2.4.2 手工编译C模块 23

2.5 编译Android Kernel 25

2.5.1 获取Goldfish内核代码 25

2.5.2 获取MSM内核代码 28

2.5.3 获取OMAP内核代码 28

2.5.4 编译Android的Linux内核 28

第3章 搭建Android应用开发环境 30

3.1 搭建前的准备 30

3.2 安装JDK 30

3.3 获取并安装Eclipse和Android SDK 34

3.4 安装ADT 37

3.5 验证设置 39

3.5.1 设定Android SDK Home 39

3.5.2 验证开发环境 39

3.6 Android模拟器详解 40

3.6.1 创建Android虚拟设备(AVD) 41

3.6.2 启动AVD模拟器 43

第4章 Android核心框架详解 44

4.1 Android系统架构介绍 44

4.1.1 底层操作系统层(OS) 45

4.1.2 各种库(Libraries)和Android运行环境(RunTime) 45

4.1.3 应用程序(Application) 46

4.1.4 应用程序框架(Application Framework) 46

4.2 分析Android应用工程文件 46

4.2.1 src程序目录 46

4.2.2 设置文件AndroidManfest.xml 47

4.2.3 常量定义文件 48

4.2.4 UI布局文件 48

4.3 5大核心组件 49

4.3.1 Activity界面组件 49

4.3.2 Intent切换组件 50

4.3.3 Service服务组件 50

4.3.4 Broadcast/Receiver广播机制组件 51

4.3.5 ContentProvider存储组件 51

4.4 进程和线程 51

4.4.1 应用程序的生命周期 51

4.4.2 什么是进程 52

4.4.3 什么是线程 54

4.5 Android和Linux的关系 54

4.5.1 Android继承于Linux 54

4.5.2 Android和Linux内核的区别 55

4.6 编写第一段Android程序 57

4.6.1 新建一个Android工程 57

4.6.2 调试程序 58

4.6.3 运行程序 60

第2篇 系统分析篇 64

第5章 Android传感器系统架构详解 64

5.1 Android传感器系统概述 64

5.1.1 传感器系统的层详解 65

5.1.2 Frameworks层详解 70

5.1.3 JNI层详解 75

5.2 Android传感器应用开发基础 95

5.2.1 查看包含的传感器 95

5.2.2 模拟器测试工具——SensorSimulator 96

5.2.3 实战演练——检测当前设备支持的传感器 99

5.3 光线传感器基础 101

5.3.1 光线传感器介绍 101

5.3.2 使用光线传感器的方法 102

5.4 磁场传感器详解 103

5.4.1 什么是磁场传感器 104

5.4.2 磁场传感器的分类 104

5.4.3 Android系统中的磁场传感器 105

5.5 加速度传感器详解 105

5.5.1 加速度传感器的分类 106

5.5.2 加速度传感器的主要应用领域 106

5.5.3 线性加速度传感器的原理 108

5.5.4 Android系统中的加速度传感器 109

5.6 方向传感器详解 109

5.6.1 方向传感器基础 110

5.6.2 Android中的方向传感器 110

5.7 陀螺仪传感器详解 111

5.7.1 陀螺仪传感器基础 111

5.7.2 Android中的陀螺仪传感器 112

5.8 距离传感器详解 115

5.8.1 距离传感器介绍 115

5.8.2 Android系统中的距离传感器 115

5.9 气压传感器详解 117

5.9.1 气压传感器基础 118

5.9.2 气压传感器在智能手机中的应用 118

5.10 温度传感器基础 119

5.11 湿度传感器基础 119

第6章 蓝牙系统详解 121

6.1 短距离无线通信技术概览 121

6.1.1 ZigBee 121

6.1.2 WiFi 122

6.1.3 蓝牙 122

6.1.4 NFC 123

6.2 低功耗蓝牙基础 123

6.2.1 低功耗蓝牙的架构 124

6.2.2 低功耗蓝牙分类 124

6.2.3 BLE和传统蓝牙BR/EDR技术的对比 125

6.3 Android系统中的蓝牙模块 126

6.4 和蓝牙相关的类 127

6.4.1 BluetoothSocket类 127

6.4.2 BluetoothServerSocket类 129

6.4.3 BluetoothAdapter类 129

6.4.4 BluetoothClass.Service类 136

6.4.5 BluetoothClass.Device类 136

6.5 Android BlueDroid架构详解 137

6.5.1 Android系统中BlueDroid的架构 137

6.5.2 Application Framework层分析 138

6.5.3 分析Bluetooth System Service层 145

6.5.4 JNI层详解 146

6.5.5 HAL层详解 151

第7章 NFC近场通信 152

7.1 近场通信技术基础 152

7.1.1 NFC技术的特点 152

7.1.2 NFC的工作模式 152

7.1.3 NFC和蓝牙的对比 153

7.2 射频识别技术详解 153

7.2.1 RFID技术简介 154

7.2.2 RFID技术的组成 154

7.2.3 RFID技术的特点 154

7.2.4 RFID技术的工作原理 155

7.3 Android系统中的NFC 156

7.3.1 分析Java层 157

7.3.2 分析JNI部分 173

7.3.3 分析底层 177

7.4 在Android系统编写NFC APP的方法 178

第8章 Google Now和Android Wear详解 181

8.1 Google Now介绍 181

8.1.1 搜索引擎的升级——Google Now 181

8.1.2 Google Now的用法 182

8.2 Android Wear详解 184

8.2.1 什么是Android Wear 184

8.2.2 搭建Android Wear开发环境 185

8.3 开发Android Wear程序 189

8.3.1 创建通知 189

8.3.2 创建声音 191

8.3.3 给通知添加页面 194

8.3.4 通知堆 195

8.3.5 通知语法介绍 196

8.4 实战演练——开发一个Android Wear程序 197

第3篇 实战演练篇 206

第9章 暴走轨迹计步器 206

9.1 系统功能模块介绍 206

9.2 系统主界面 206

9.2.1 布局文件 207

9.2.2 实现主Activity 209

9.3 系统设置 226

9.3.1 选项设置 227

9.3.2 生成GPX文件和KML文件 229

9.4 邮件分享提醒 235

9.4.1 基本邮箱设置 235

9.4.2 实现邮件发送功能 239

9.5 上传OSM地图 242

9.5.1 授权提示布局文件 242

9.5.2 实现文件上传 245

第10章 智能家居系统 247

10.1 需求分析 247

10.1.1 背景介绍 247

10.1.2 传感技术的推动 248

10.1.3 Android与智能家居的紧密联系 248

10.2 系统功能模块介绍 248

10.3 系统主界面 249

10.3.1 实现布局文件 249

10.3.2 实现程序文件 250

10.4 系统设置 251

10.4.1 总体配置 252

10.4.2 系统总体配置 252

10.4.3 构建数据库 259

10.5 电器控制模块 261

10.5.1 电器控制主界面 261

10.5.2 温度控制界面 263

10.5.3 电灯控制界面 265

10.6 预案管理模块 270

10.6.1 天气情况 270

10.6.2 历史数据 280

10.6.3 系统设置 283

第11章 健康专家——智能心率计 288

11.1 什么是心率 288

11.2 开发一个Android版心率计 289

11.2.1 扫描蓝牙设备 289

11.2.2 蓝牙控制界面 294

11.2.3 蓝牙BLE设备适配器 310

11.2.4 蓝牙BLE服务适配器 312

11.2.5 传感器测试心率 319

11.2.6 图形化显示心率值 323

第12章 湿度测试仪 331

12.1 实现主界面 331

12.1.1 实现主界面布局文件 331

12.1.2 主Activity的实现文件 333

12.2 设置具体值 335

12.3 显示当前的值 340

12.4 保存当前数值 345

12.4.1 实现布局文件 345

12.4.2 实现SaveReadingActivity 346

12.5 图形化显示测试结果 347

12.6 湿度跟踪器 359

第13章 小米录音机 362

13.1 系统介绍 362

13.2 系统主界面 363

13.2.1 实现UI布局 363

13.2.2 实现程序文件 368

13.3 系统设置界面 384

13.3.1 事件处理程序 385

13.3.2 实现程序文件 385

13.4 修改文本框的文本 387

13.5 计算剩余时间 389

13.6 素材修饰 391

第14章 智能楼宇灯光控制系统 394

14.1 布局文件 394

14.1.1 主布局文件 394

14.1.2 实现蓝牙控制界面 395

14.1.3 显示公司介绍信息 396

14.1.4 系统功能介绍 396

14.1.5 第一路调光设置界面 397

14.1.6 执行主界面 402

14.1.7 不同房间的照明亮度参考值 403

14.1.8 产品的详细介绍 403

14.1.9 五路调光设置界面 404

14.2 实现程序文件 408

14.2.1 主Activity 408

14.2.2 监听单击事件 416

14.2.3 设置系统的蓝牙参数 418

14.2.4 控制第一路光线的亮度 422

14.2.5 控制第二路光线的亮度 431

第15章 智能闹钟系统 440

15.1 项目介绍 440

15.1.1 系统需求分析 440

15.1.2 构成模块 440

15.2 系统主界面 441

15.2.1 布局文件 441

15.2.2 程序文件 442

15.3 闹钟列表模块 454

15.3.1 设置主界面 455

15.3.2 设置闹钟界面 462

15.3.3 闹钟提醒模块 470

15.3.4 重复设置 477

15.3.5 闹钟数据操作 478

15.4 选择铃声音乐 482

第16章 开发一个音乐播放器 485

16.1 项目介绍 485

16.1.1 项目背景介绍 485

16.1.2 项目的目的 486

16.2 系统需求分析 486

16.2.1 构成模块 486

16.2.2 系统流程 490

16.2.3 功能结构图 491

16.2.4 系统功能说明 491

16.2.5 系统需求 492

16.3 数据库设计 492

16.3.1 字段设计 492

16.3.2 E-R图设计 493

16.3.3 数据库连接 494

16.3.4 创建数据库 494

16.3.5 操作数据库 495

16.3.6 数据显示 496

16.4 具体编码 497

16.4.1 设置服务信息 497

16.4.2 播放器主界面 498

16.4.3 播放列表功能 510

16.4.4 菜单功能模块 513

16.4.5 播放设置界面 516

16.4.6 设置显示歌词 519

16.4.7 文件浏览器模块 520

16.4.8 数据存储 524

第17章 移动阅读器系统 526

17.1 实现流程 526

17.2 具体实现 526

17.2.1 建立实体类 527

17.2.2 主程序文件ActivityMain.java 530

17.2.3 实现ContentHandler 532

17.2.4 主程序文件ActivityShowDescription.java 535

17.2.5 主布局文件main.xml 536

17.2.6 详情主布局文件showdescription.xml 537

17.3 打包、签名和发布 539

17.3.1 申请会员 539

17.3.2 生成签名文件 542

17.3.3 使用签名文件 547

17.3.4 发布 548

第18章 QR码采集器 549

18.1 信息采集 549

18.1.1 采集界面的主Activity 549

18.1.2 相机采集 555

18.1.3 实现取景器功能 558

18.2 解码处理 562

18.2.1 实现解码处理功能 562

18.2.2 解码矩形框中的数据 566

18.2.3 处理全部状态的采集信息 567

18.2.4 多线程处理 569

18.2.5 读取QR码 571

18.3 编码处理 573

18.3.1 Encoder处理 573

18.3.2 生成QR二维码 575

18.4 信息分享 585

18.4.1 通讯录处理 585

18.4.2 日历处理 587

18.4.3 处理邮箱 588

第19章 骑行记录仪 590

19.1 选择线路规划目的地 590

19.1.1 系统主Activity界面 590

19.1.2 布局文件capture.xml 598

19.2 Adapter适配器处理 600

19.3 生成路线图 603

19.3.1 实时导航服务 603

19.3.2 线路计划监听服务 606

19.3.3 线路任务服务 606

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

19.3.5 生成导航视图 615

19.4 街道分析 619

19.5 海拔数据分析 621