新書推薦:
《
秦汉史讲义
》
售價:NT$
690.0
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:NT$
475.0
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:NT$
490.0
《
我的心理医生是只猫
》
售價:NT$
225.0
《
巴拉吉预言
》
售價:NT$
340.0
《
股权控制战略:如何实现公司控制和有效激励(第2版)
》
售價:NT$
449.0
《
汉译名著·哲学经典十种
》
售價:NT$
3460.0
《
成吉思汗传:看历代帝王将相谋略 修炼安身成事之根本
》
售價:NT$
280.0
|
編輯推薦: |
凝聚作者多年开发实战经验,深入解析穿戴设备开发技术
手把手传授Android穿戴设备开发经验,大幅提高学习和工作效率
超值赠送《Android应用开发基础与实例》电子书,彻底解决零基础学习者的后顾之忧
|
內容簡介: |
本书通过大量实例,循序渐进地讲解了在Android系统中开发穿戴设备的必备技术和各种开发实战经验与技巧。具体内容包括Android穿戴设备开发技术基础,搭建Android开发环境,开发前的准备工作,让硬件和网络相连,地图定位应用解决方案,利用光线和接近警报提高用户体验,检测设备的运动方向,检测穿戴设备的运动轨迹,检测穿戴设备所处的环境参数,深入挖掘蓝牙技术,深入探索Android蓝牙系统,为可穿戴设备而生的蓝牙4.0 BLE,BLE 4.0 开发秘籍,语音识别应用解决方案,用手势识别提高用户体验,多媒体应用解决方案,户外暴走轨迹记录仪,湿度测试仪。
附赠光盘中提供了书中案例的源代码文件和部分实例的语音教学视频文件,以及赠送的15个综合实例源代码文件、电子书及实例语音教学视频文件。
本书适合Android初学者、Android应用开发、Android穿戴设备开发、Android底层开发人员和Android源码分析人员阅读学习,并且也可以作为相关培训学校和大、中专院校相关专业的教学用书。
|
目錄:
|
目录
Chapter 1 Android穿戴设备开发技术基础 1
1.1 智能手机系统介绍 1
1.1.1 何谓智能手机 1
1.1.2 看当前主流的智能手机系统 2
1.1.3 不只是手机 4
1.1.4 超高的市场占有率 6
1.2 Android的巨大优势 6
1.2.1 系出名门 7
1.2.2 强大的开发团队 7
1.2.3 诱人的奖励机制 7
1.2.4 开源 8
1.3 穿戴设备凶猛来袭 8
1.3.1 发展历程 8
1.3.2 现状介绍 9
1.3.3 发展前景分析 12
1.3.4 Android对穿戴设备的支持――Android Wear 13
1.4 Android穿戴设备开发所需要的技术 14
Chapter 2 搭建Android开发环境 15
2.1 安装Android SDK的系统要求 15
2.2 安装JDK 16
2.3 安装Eclipse和Android SDK 20
2.3.1 获取并安装Eclipse和Android SDK 20
2.3.2 快速安装SDK 23
2.4 安装ADT 24
2.5 验证设置 26
2.5.1 设定Android SDK Home 26
2.5.2 验证开发环境 27
2.5.3 创建Android虚拟设备(AVD) 28
2.6 启动AVD模拟器 29
2.6.1 模拟器和真机究竟有何区别 30
2.6.2 启动AVD模拟器的基本流程 30
Chapter 3 开发前的准备工作 31
3.1 在Linux系统获取Android源码 31
3.2 在Windows平台获取Android源码 32
3.3 分析Android源码结构 37
3.3.1 应用程序 38
3.3.2 应用程序框架 39
3.3.3 系统服务 40
3.3.4 系统程序库 42
3.3.5 系统运行库 46
3.3.6 硬件抽象层 46
3.4 编译源码 47
3.4.1 搭建编译环境 48
3.4.2 开始编译 49
3.4.3 在模拟器中运行 50
3.4.4 常见的错误分析 51
3.4.5 实践演练――演示两种编译Android程序的方法 52
3.5 编译Android Kernel 56
3.5.1 获取Goldfish内核代码 56
3.5.2 获取MSM内核代码 59
3.5.3 获取OMAP内核代码 59
3.5.4 编译Android的Linux内核 59
Chapter 4 让硬件和网络相连 61
4.1 实现网络通信的解决方案 61
4.1.1 剖析HTTP的作用 61
4.1.2 Apache接口和标准Java接口的区别 62
4.1.3 Android独有的网络接口 63
4.1.4 在屏幕中传递HTTP参数的实现技巧 64
4.1.5 如何在运动过程中访问地图 67
4.2 实现数据通信的解决方案 69
4.2.1 使用ServletSocket传递数据 70
4.2.2 使用Socket传递数据 70
4.2.3 实现非阻塞Socket通信 70
4.2.4 使用DatagramSocket实现数据交互 72
4.2.5 发送求救信号的实现技巧 73
4.3 远程数据下载解决方案 74
4.3.1 获取图片数据的方法总结 74
4.3.2 JSON数据传输的常见用法 76
4.3.3 用多线程提升处理效率 81
4.4 如何高效的上传数据 86
4.4.1 将穿戴设备中的文件上传到远程服务器 86
4.4.2 使用GET方式上传数据 88
4.5 URL数据的处理方法 92
4.5.1 URL和URLConnection 92
4.5.2 让穿戴设备和社交软件相结合 93
4.5.3 充分利用网络资源 94
4.5.4 将穿戴设备打造成一个网页浏览器 97
Chapter 5 地图定位应用解决方案 100
5.1 位置服务解决方案 100
5.1.1 android.location功能类 100
5.1.2 实现Android定位 101
5.2 随时更新设备的位置信息 104
5.2.1 Maps库类的技巧 104
5.2.2 LocationManager可以及时监听你 105
5.3 在Android穿戴设备中使用地图 106
5.3.1 使用地图前的准备工作 106
5.3.2 使用Map API密钥的流程 109
5.4 在穿戴设备中实现GPS定位 111
5.5 使用谷歌地图实现定位的技巧 114
5.6 在Android穿戴设备中实现地址查询的解决方案 119
5.7 打造一个路径导航设备 124
Chapter 6 利用光线和接近警报提高用户体验 132
6.1 挖掘Android中的传感器系统 132
6.2 检测当前设备所支持的传感器的方法 134
6.3 模拟器测试传感器APP的解决方案 136
6.4 移植一个光线系统 140
6.4.1 高效获取设备中的光线值的经验之谈 140
6.4.2 显示设备光线强度的方法 141
6.4.3 获取设备中光线传感器的值 142
6.4.4 显示设备中光线传感器的强度 144
6.4.5 显示设备名称和光线强度 146
6.5 使用接近警报的解决方案 148
6.5.1 Geocoder类详解 149
6.5.2 Geocoder的主要功能 151
6.5.3 地理编码和地理反编码 152
6.5.4 在穿戴设备地图中快速查询某个位置 156
Chapter 7 检测设备的运动方向 159
7.1 在设备中加入磁场传感器 159
7.1.1 磁场传感器基础 159
7.1.2 Android系统中的磁场传感器 159
7.1.3 获取磁场传感器分量的技巧 160
7.2 使用加速度传感器 161
7.2.1 加速度传感器基础 161
7.2.2 Android系统中的加速度传感器 162
7.2.3 高效获取加速度值的方法 163
7.2.4 实现抖动效果的技巧 165
7.2.5 高级实践――实现仿微信“摇一摇”效果 166
7.3 线性加速度传感器 171
7.3.1 线性加速度传感器的原理 171
7.3.2 测试设备运动的技巧 172
7.4 使用方向传感器的技巧 175
7.4.1 方向传感器基础 176
7.4.2 Android中的方向传感器 176
7.4.3 测试方向值的**方案 176
7.4.4 如何快速开发一个指南针程序 178
7.4.5 快速确定当前设备方向的技巧 180
7.4.6 快速实现一个定位指南针的方法 184
Chapter 8 检测穿戴设备的运动轨迹 195
8.1 测试运动距离 195
8.1.1 加入距离传感器 195
8.1.2 Android系统中的距离传感器 195
8.1.3 实现自动锁屏功能的方法 197
8.1.4 根据设备距离实现自动锁屏的技巧 202
8.2 绘制运动曲线 204
8.3 在穿戴设备中开发一个计步器 208
8.3.1 系统功能模块介绍 209
8.3.2 系统主界面 209
8.3.3 系统设置模块 216
Chapter 9 检测穿戴设备所处的环境参数 227
9.1 使用气压传感器 227
9.1.1 气压传感器的使用秘籍 227
9.1.2 气压传感器在智能手机中的应用 228
9.1.3 开发一个Android气压计系统 228
9.2 使用温度传感器 236
9.2.1 温度传感器的使用技巧 236
9.2.2 Android系统中的温度传感器 237
9.2.3 让穿戴设备变为温度计的经验之谈 239
9.3 使用湿度传感器 241
9.3.1 湿度传感器的使用秘籍 241
9.3.2 Android系统中的湿度传感器 242
9.3.3 获取远程湿度数据的技巧 242
9.4 获取相对海拔和**海拔数据的方法 248
Chapter 10 深入挖掘蓝牙技术 259
10.1 蓝牙的作用 259
10.1.1 蓝牙技术的发展历程 259
10.1.2 蓝牙的特点 259
10.2 使用低功耗蓝牙技术的意义 260
10.2.1 低功耗蓝牙的架构 260
10.2.2 低功耗蓝牙分类 261
10.3 蓝牙规范 262
10.3.1 蓝牙系统中的常用规范 262
10.3.2 蓝牙协议体系结构 263
10.3.3 低功耗(BLE)蓝牙协议 264
10.3.4 现有的基于GATT的协议服务 264
10.3.5 双模协议栈 266
10.3.6 单模协议栈 266
10.4 蓝牙协议栈详解 267
10.4.1 蓝牙协议栈基础 267
10.4.2 蓝牙协议体系中的协议 268
10.5 TI公司的低功耗蓝牙 270
10.5.1 获取TI公司的低功耗蓝牙协议栈 270
10.5.2 分析TI公司的低功耗蓝牙协议栈 274
10.6 使用蓝牙控制电风扇 280
Chapter 11 深入探索Android蓝牙系统 290
11.1 Android系统中的蓝牙模块 290
11.2 深入分析蓝牙模块的源码 292
11.2.1 初始化蓝牙芯片 292
11.2.2 蓝牙服务 293
11.2.3 管理蓝牙电源 293
11.3 和蓝牙息息相关的类 293
11.3.1 BluetoothSocket类 294
11.3.2 BluetoothServerSocket类 295
11.3.3 BluetoothAdapter类 296
11.3.4 BluetoothClass.Service类 302
11.3.5 BluetoothClass.Device类 302
11.4 快速开发Android蓝牙应用程序 303
11.4.1 开发Android蓝牙应用程序的基本步骤 303
11.4.2 开发一个控制玩具车的蓝牙遥控器 308
11.5 在穿戴设备中开发一个蓝牙控制器 313
11.5.1 界面布局 313
11.5.2 响应单击按钮 314
11.5.3 和指定的服务器建立连接 315
11.5.4 搜索附近的蓝牙设备 316
11.5.5 建立和OBEX服务器的数据传输 319
11.5.6 实现蓝牙服务器端的数据处理 322
Chapter 12 为可穿戴设备而生的蓝牙4.0 BLE 325
12.1 短距离无线通信技术概览 325
12.1.1 ZigBee――低功耗、自组网 325
12.1.2 Wi-Fi――大带宽支持家庭互联 326
12.1.3 蓝牙――4.0进入低功耗时代 326
12.2 蓝牙4.0 BLE基础 327
12.2.1 蓝牙4.0的*杰出表现是低功耗 327
12.2.2 蓝牙4.0的优势 327
12.2.3 蓝牙4.0 BLE推动了可穿戴设备的兴起 328
12.3 低功耗蓝牙协议栈详解 329
12.3.1 低功耗蓝牙协议栈基础 329
12.3.2 低功耗蓝牙API详解 330
Chapter 13 BLE 4.0开发秘籍 346
13.1 深入理解BlueDroid架构 346
13.1.1 Android系统中BlueDroid的架构 346
13.1.2 Application Framework层分析 346
13.1.3 分析Bluetooth System Service层 349
13.1.4 分析JNI层 350
13.1.5 分析HAL层 350
13.2 Android蓝牙模块的运作流程 351
13.2.1 打开蓝牙设备 351
13.2.2 搜索蓝牙 356
13.2.3 传输OPP文件 363
13.3 开发一个Android蓝牙通信系统 368
13.3.1 布局文件 369
13.3.2 实现控制服务类和线程实现类 369
13.3.3 编写测试程序文件 378
Chapter 14 语音识别应用解决方案 384
14.1 语音识别技术的发展进程 384
14.1.1 语音识别的发展历史 384
14.1.2 技术发展历程 385
14.2 使用Text-To-Speech技术 385
14.2.1 Text-To-Speech基础 385
14.2.2 Text-To-Speech的实现流程 386
14.2.3 在Android中使用Text-To-Speech实现语音识别 389
14.3 谷歌的Voice Recognition技术 391
14.3.1 Voice Recognition技术基础 391
14.3.2 在Android中使用Voice Recognition实现语音识别 394
14.4 开发一个语音识别系统 397
Chapter 15 用手势识别提高用户体验 407
15.1 手势识别技术基础 407
15.1.1 GestureDetector类基础 407
15.1.2 使用GestureDetector类 408
15.1.3 手势识别处理事件和方法 411
15.2 通过单击的方式移动图片 412
15.2.1 实例说明 412
15.2.2 具体实现 412
15.3 实现各种手势识别 415
15.4 实现手势翻页效果 418
15.5 实现手势拖动和缩放图片效果 423
Chapter 16 多媒体应用解决方案 431
16.1 深入底层分析Android多媒体系统 431
16.1.1 OpenMax框架 433
16.1.2 OpenCore框架 434
16.1.3 Stagefright框架 435
16.2 Graphics类的平面世界 436
16.2.1 Graphics类基础 436
16.2.2 使用Graphics类 436
16.3 二维动画 438
16.3.1 Drawable类 438
16.3.2 实现Tween Animation动画 439
16.3.3 实现Frame Animation动画效果 442
16.4 OpenGL ES 443
16.4.1 OpenGL ES基础 443
16.4.2 Android用到OpenGL ES 443
16.4.3 OpenGL ES的基本操作 444
16.4.4 绘制图形 451
16.5 音频开发 455
16.5.1 音频接口类 455
16.5.2 AudioManager控制铃声 456
16.6 录音 463
16.6.1 使用MediaRecorder接口录制音频 464
16.6.2 使用AudioRecord接口录音 464
16.7 在穿戴设备中播放音乐 469
16.7.1 使用AudioTrack播放音频 469
16.7.2 使用MediaPlayer播放音频 470
16.7.3 使用SoundPool 470
16.7.4 使用Ringtone播放铃声 471
16.8 为穿戴设备实现震动功能 472
16.9 闹钟 473
Chapter 17 户外暴走轨迹记录仪 475
17.1 系统功能模块介绍 475
17.2 实现系统主界面 476
17.3 系统设置 484
17.3.1 选项设置 485
17.3.2 生成GPX文件和KML文件 486
17.4 邮件分享提醒 490
17.4.1 基本邮箱设置 491
17.4.2 实现邮件发送功能 491
17.5 上传OSM地图 491
17.5.1 授权提示布局文件 492
17.5.2 实现文件上传 494
Chapter 18 湿度测试仪 497
18.1 实现主界面 497
18.2 设置具体值 499
18.3 显示当前的值 502
18.4 保存当前数值 504
18.5 图形化显示测试结果 505
18.6 湿度跟踪器 509
|
|