《Android智能穿戴设备开发从入门到精通(含盘)》循序渐进地讲解了在Android系统中开发穿戴设备的各种必备知识及其应用。书中几乎涵盖了Android穿戴设备应用开发方面的所有重点内容。全书共分14章,依次讲解了Android开发技术基础,Android技术核心框架分析,HTTP数据通信,使用Socket实现数据通信,下载远程数据,上传数据,传感器技术,人工智能技术,语音识别和手势识别,蓝牙技术基础,Android蓝牙模块详解,蓝牙4.0 BLE详解,以及智能心率计和计步器的设计全过程。
《Android智能穿戴设备开发从入门到精通(含盘)》适用于Android初学者、Android应用开发、Android穿戴设备开发、Android底层开发人员和Android源码分析人员学习,也可作为培训学校和大中专院校相关专业的教学用书。
编排科学:通过基本理论、实例分析、综合实战等内容,引领读者在实践中掌握所学知识
内容全面:全面、深入讲解传感器开发、蓝牙技术、数据传输等核心技术
实用性强:通过实例详细讲解实际开发项目经验和技巧,内容更贴近实战
2007年11月5日,谷歌公司发布了Android系统的第一个版本。Android是一款基于Linux平台的开源手机操作系统的名称,由整个操作系统、中间件、用户界面和应用软件组成。Android系统一经推出便受到了通信业巨头和手机制造商的青睐,并且被全世界的开发者所接受。根据国际数据公司(IDC)公布的统计数据,截至2014年1月31日,手机市场上Android占有率从2013年的68.8%上升到78.9%。而iOS则从2013年的19.4%下降到15.5%,Windows Phone系统从原来的2.7%小幅上升到3.6%。从数据上看,Android平台占据了手机市场的主导地位,继续称当老大的角色。78.9%,这是一个具有明显优势的比重,足以令后面的追赶着汗颜。我们有理由相信,至少在未来一段时间内,Android依旧能够牢牢地占据着智能手机操作系统第一的这个宝座。
穿戴设备的发展历程
自从谷歌推出Google眼镜产品之后,可穿戴计算设备便成为当今科技界的火热话题之一。在CES 2013和CES 2014(国际电子展),也有不少公司推出了眼镜、腕带等各种可穿戴计算设备,从此可穿戴设备开始流行起来。
为了更好地使人们了解可穿戴设备,FierceMobileIT特意整理了可穿戴设备的发展简史,帮助人们了解这类产品的发展状况。从中不难看出,如果能够广泛普及,像谷歌眼镜这样的设备有可能在将来会改变人们的生活和工作方式。
可穿戴设备的发展最早可以追溯到1762年,当时,约翰?哈里森(John Harrison)发明了怀表。但我们还是决定将这一技术的起始时间定在1975年,也就是Hamilton Watch推出Pulsar计算器手表的那一年。那款产品一时间成为男性时尚的代名词,甚至连时任美国总统的杰拉尔德?福特(Gerald Ford)也想要一块这样的手表。
可穿戴设备简史如下。
● 1975年:Hamilton Watch推出Pulsar计算器手表。
● 1977年:CC Collins为盲人开发了一款可穿戴设备,使用头戴式摄像头将图像转换成背心上的触觉网格。
● 1979年:索尼推出Walkman卡带随身听。
……
● 2011年:Jawbone推出UP健身腕带,可以追踪睡眠、运动、饮食状况,并与智能手机应用关联,零售价为130美元。
● 2012年:索尼推出SmartWatch,使用蓝牙与Android手机相连,零售价为150美元。
Pebble发布Pebble Watch,提供健身及健康追踪、上网和语音导航等功能。可以使用蓝牙技术与智能手机应用相连,零售价为250美元。
● 2013年:谷歌向部分用户推出测试版谷歌眼镜。谷歌眼镜是一款固定在眼镜上的光学头戴显示器,可以进行语音控制,而且能够利用Wi-Fi网络上网。
全球第一大Android智能手机制造商三星发布Galaxy Gear智能手表,可以使用蓝牙与Android智能手机相连。日本汽车制造商日产发布Nismo智能手表,可以为驾驶员提供平均时速、油耗和驾驶员心率等信息,零售价为120美元。
● 2014年:有关苹果iWatch,据称,这可能是一款能够通过Wi-Fi上网的智能手表。
本书的内容
本书详细讲解了Android开发技术基础,Android技术核心框架分析,HTTP数据通信,使用Socket实现数据通信,下载远程数据,上传数据,传感器技术,人工智能技术,语音识别和手势识别,蓝牙系统应用,智能心率计设计,计步器设计等知识。内容几乎涵盖了Android穿戴设备应用开发方面的所有主要技术,并且全书内容言简意赅,讲解方法通俗易懂,不但适合应用高手的学习,也特别适用于初学者学习。
本书的版本
Android系统自2008年9月发布第一个版本1.1以来,截至2013年11月发布最新版本4.4,一共存在十多个版本。由此可见,Android系统升级频率较快,一年之中最少有两个新版本诞生。如果过于追求新版本,会造成力不从心的结果;因此在此建议广大读者:“不必追求最新的版本,我们只需关注最流行的版本即可。”据官方统计,截至2013年11月25日,占据前三位的系统版本分别是Android 4.3、Android 4.2和Android 4.1,其实这三个版本的区别并不大,只是在某些领域的细节上进行了更新。因此,本书以Android 4.3为基础,详细讲解了Android系统安全方面的基本知识。
本书特色
本书内容十分丰富,讲解细致、全面。我们的目标是通过一本图书,提供多本图书的价值,读者可以根据自己的需要进行有选择的阅读。在内容的编写上,本书具有以下特色:
(1)结构合理
从用户的实际需要出发,科学安排知识结构,内容由浅入深,叙述清楚。全书详细地讲解了和Android穿戴设备应用开发有关的知识,内容循序渐进,由浅入深。
(2)遵循“理论介绍—演示实例—综合演练”这一主线
为了使广大读者彻底弄清楚Android穿戴设备应用开发的每一个知识点,在讲解时依次剖析了基本理论、演示实例分析、综合实战演练等内容。遵循了从理论到实践,实现了实践教学这一目标。
(3)易学易懂
本书内容条理清晰、语言简洁,可以帮助读者快速掌握每个知识点,使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习,并且和传统的计算机书籍相比,阅读本书会为你带来更大的乐趣。
(4)实用性强
本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,详细讲解了Android穿戴设备应用开发各个知识点的基本知识。
(5)内容全面
本书可以称为“内容最全面的一本Android穿戴设备应用开发书”,无论是开发环境搭建,还是传感器开发、数据传输、蓝牙技术等,在本书中读者都能找到解决问题的答案。
读者对象
● 初学Android编程的自学者
● Android应用开发人员
● Android源码爱好者
● Android穿戴设备开发人员
● 毕业设计的学生
● Android编程爱好者
● 相关培训机构的老师和学员
● 从事Android开发的程序员
在此,特别感谢我的家人,他们在编者写作时给予了巨大支持。由于编者水平有限,再加上Android系统更新较快,书中如有纰漏和错误之处,恳请读者批评指正。
编 者
2014年9月
前 言
2007年11月5日,谷歌公司发布了Android系统的第一个版本。Android是一款基于Linux平台的开源手机操作系统的名称,由整个操作系统、中间件、用户界面和应用软件组成。Android系统一经推出便受到了通信业巨头和手机制造商的青睐,并且被全世界的开发者所接受。根据国际数据公司(IDC)公布的统计数据,截至2014年1月31日,手机市场上Android占有率从2013年的68.8%上升到78.9%。而iOS则从2013年的19.4%下降到15.5%,Windows Phone系统从原来的2.7%小幅上升到3.6%。从数据上看,Android平台占据了手机市场的主导地位,继续称当老大的角色。78.9%,这是一个具有明显优势的比重,足以令后面的追赶着汗颜。我们有理由相信,至少在未来一段时间内,Android依旧能够牢牢地占据着智能手机操作系统第一的这个宝座。
穿戴设备的发展历程
自从谷歌推出Google眼镜产品之后,可穿戴计算设备便成为当今科技界的火热话题之一。在CES 2013和CES 2014(国际电子展),也有不少公司推出了眼镜、腕带等各种可穿戴计算设备,从此可穿戴设备开始流行起来。
为了更好地使人们了解可穿戴设备,FierceMobileIT特意整理了可穿戴设备的发展简史,帮助人们了解这类产品的发展状况。从中不难看出,如果能够广泛普及,像谷歌眼镜这样的设备有可能在将来会改变人们的生活和工作方式。
可穿戴设备的发展最早可以追溯到1762年,当时,约翰?哈里森(John Harrison)发明了怀表。但我们还是决定将这一技术的起始时间定在1975年,也就是Hamilton Watch推出Pulsar计算器手表的那一年。那款产品一时间成为男性时尚的代名词,甚至连时任美国总统的杰拉尔德?福特(Gerald Ford)也想要一块这样的手表。
可穿戴设备简史如下。
● 1975年:Hamilton Watch推出Pulsar计算器手表。
● 1977年:CC Collins为盲人开发了一款可穿戴设备,使用头戴式摄像头将图像转换成背心上的触觉网格。
● 1979年:索尼推出Walkman卡带随身听。
……
● 2011年:Jawbone推出UP健身腕带,可以追踪睡眠、运动、饮食状况,并与智能手机应用关联,零售价为130美元。
● 2012年:索尼推出SmartWatch,使用蓝牙与Android手机相连,零售价为150美元。
Pebble发布Pebble Watch,提供健身及健康追踪、上网和语音导航等功能。可以使用蓝牙技术与智能手机应用相连,零售价为250美元。
● 2013年:谷歌向部分用户推出测试版谷歌眼镜。谷歌眼镜是一款固定在眼镜上的光学头戴显示器,可以进行语音控制,而且能够利用Wi-Fi网络上网。
全球第一大Android智能手机制造商三星发布Galaxy Gear智能手表,可以使用蓝牙与Android智能手机相连。日本汽车制造商日产发布Nismo智能手表,可以为驾驶员提供平均时速、油耗和驾驶员心率等信息,零售价为120美元。
● 2014年:有关苹果iWatch,据称,这可能是一款能够通过Wi-Fi上网的智能手表。
本书的内容
本书详细讲解了Android开发技术基础,Android技术核心框架分析,HTTP数据通信,使用Socket实现数据通信,下载远程数据,上传数据,传感器技术,人工智能技术,语音识别和手势识别,蓝牙系统应用,智能心率计设计,计步器设计等知识。内容几乎涵盖了Android穿戴设备应用开发方面的所有主要技术,并且全书内容言简意赅,讲解方法通俗易懂,不但适合应用高手的学习,也特别适用于初学者学习。
本书的版本
Android系统自2008年9月发布第一个版本1.1以来,截至2013年11月发布最新版本4.4,一共存在十多个版本。由此可见,Android系统升级频率较快,一年之中最少有两个新版本诞生。如果过于追求新版本,会造成力不从心的结果;因此在此建议广大读者:“不必追求最新的版本,我们只需关注最流行的版本即可。”据官方统计,截至2013年11月25日,占据前三位的系统版本分别是Android 4.3、Android 4.2和Android 4.1,其实这三个版本的区别并不大,只是在某些领域的细节上进行了更新。因此,本书以Android 4.3为基础,详细讲解了Android系统安全方面的基本知识。
本书特色
本书内容十分丰富,讲解细致、全面。我们的目标是通过一本图书,提供多本图书的价值,读者可以根据自己的需要进行有选择的阅读。在内容的编写上,本书具有以下特色:
(1)结构合理
从用户的实际需要出发,科学安排知识结构,内容由浅入深,叙述清楚。全书详细地讲解了和Android穿戴设备应用开发有关的知识,内容循序渐进,由浅入深。
(2)遵循“理论介绍—演示实例—综合演练”这一主线
为了使广大读者彻底弄清楚Android穿戴设备应用开发的每一个知识点,在讲解时依次剖析了基本理论、演示实例分析、综合实战演练等内容。遵循了从理论到实践,实现了实践教学这一目标。
(3)易学易懂
本书内容条理清晰、语言简洁,可以帮助读者快速掌握每个知识点,使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习,并且和传统的计算机书籍相比,阅读本书会为你带来更大的乐趣。
(4)实用性强
本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,详细讲解了Android穿戴设备应用开发各个知识点的基本知识。
(5)内容全面
本书可以称为“内容最全面的一本Android穿戴设备应用开发书”,无论是开发环境搭建,还是传感器开发、数据传输、蓝牙技术等,在本书中读者都能找到解决问题的答案。
读者对象
● 初学Android编程的自学者
● Android应用开发人员
● Android源码爱好者
● Android穿戴设备开发人员
● 毕业设计的学生
● Android编程爱好者
● 相关培训机构的老师和学员
● 从事Android开发的程序员
孙娇,资深Android开发工程师,精通Android、iOS移动应用开发和底层嵌入式开发,精通XMPP协议和企业级云端系统的构建,长期从事移动互联网系统的框架设计和研发工作。张明星,硕士,精通Android、iOS移动应用开发和底层嵌入式开发,精通C、C++和Java语言。现就职于山东物联网研究室,专门研究和物联网有关的蓝牙和红外通信技术。
Chapter1Android开发技术基础1
1.1智能手机系统介绍
1.1.1何谓智能手机
1.1.2主流智能手机系统介绍
1.2Android的巨大优势
1.2.1优点一——系出名门
1.2.2优点二——强大的开发团队
1.2.3优点三——诱人的奖励机制
1.2.4优点四——开源
1.3搭建Android应用开发环境
1.3.1安装AndroidSDK的系统要求
1.3.2安装JDK
1.3.3获取并安装Eclipse和AndroidSDK
1.3.4安装ADT
1.3.5设定AndroidSDKHome
1.3.6验证开发环境
1.3.7创建Android虚拟设备(AVD)
1.3.8启动AVD模拟器
1.4穿戴设备的前世今生
1.4.1发展历程
1.4.2现状介绍
1.4.3发展前景分析
1.4.4Android的支持
Chapter2Android技术核心框架分析
2.1分析Android的系统架构
2.1.1Android体系结构介绍
2.1.2Android应用工程文件组成
2.2简述五大组件
2.2.1用Activity来表现界面
2.2.2用Intent和IntentFilters实现切换
2.2.3Service为用户服务
2.2.4用BroadcastIntentReceiver发送广播
2.2.5用ContentProvider存储数据
2.3进程和线程
2.3.1先看进程
2.3.2再看线程
2.3.3应用程序的生命周期
2.4分析Android源码结构
2.5Android和Linux的关系
2.5.1Android继承于Linux
2.5.2Android和Linux内核的区别
2.6第一段Android程序
Chapter3HTTP数据通信
3.1HTTP基础
3.1.1HTTP概述
3.1.2HTTP协议的功能
3.1.3Android中的HTTP
3.2使用Apache接口
3.2.1Apache接口基础
3.2.2Apache应用要点
3.2.3Apache应用要点
3.3使用标准的Java接口
3.3.1IP地址
3.3.2URL地址
3.3.3套接字Socket类
3.3.4URLConncetion类
3.3.5在Android中使用java.net
3.4使用Android网络接口
3.5实战演练
3.5.1实战演练——在手机屏幕中传递HTTP参数
3.5.2实战演练——在Android手机中通过ApacheHTTP访问HTTP资源
Chapter4使用Socket实现数据通信
4.1Socket编程初步
4.1.1TCP/IP协议基础
4.1.2UDP协议
4.1.3基于Socket的Java网络编程
4.2TCP编程详解
4.2.1使用ServletSocket
4.2.2使用Socket
4.2.3TCP中的多线程
4.2.4实现非阻塞Socket通信
4.3UDP编程
4.3.1使用DatagramSocket
4.3.2使用MulticastSocket
4.4实战演练——在Android中使用Socket实现数据传输
Chapter5下载远程数据
5.1下载网络中的图片数据
5.2下载网络中的JSON数据
5.2.1JSON基础
5.2.2实战演练——远程下载服务器中的JSON数据
5.3下载某个网页的源码
5.4远程获取多媒体文件
5.4.1实战演练——下载并播放网络中的MP3
5.4.2实战演练——下载在线铃声
5.5多线程下载
5.5.1多线程下载文件的过程
5.5.2实战演练——在Android系统中实现多线程下载
5.6远程下载并安装APK文件
5.6.1APK基础
5.6.2实战演练——在Android系统中下载并安装APK文件
Chapter6上传数据
6.1Android上传数据技术
6.1.1使用HTTP协议上传数据
6.1.2使用TCP协议上传数据
6.2实战演练——上传文件到远程服务器
6.3使用GET方式上传数据
6.4使用POST方式上传数据
6.5使用HTTP协议实现上传
6.5.1一段演示代码
6.5.2实战演练——HTTP协议实现文件上传
Chapter7传感器技术
7.1Android传感器系统概述
7.2使用SensorSimulator
7.3使用传感器
7.3.1光线传感器
7.3.2磁场传感器
7.3.3加速度传感器
7.3.4姿态传感器
7.3.5温度传感器
Chapter8人工智能技术
8.1人工智能基础
8.1.1人工智能概述
8.1.2两种实现人工智能的方法
8.2图搜索在人工智能中的应用
8.2.1深度优先搜索(DFS)
8.2.2广度优先搜索(BFS)
8.2.3戴克斯特拉算法(Dijkstra)
8.2.4A-Star算法
8.3实战演练——各种AI图搜索算法在Android游戏中的用法
8.3.1搭建路径搜索框架
8.3.2实现深度优先算法
8.3.3实现广度优先算法
8.3.4实现Dijkstra算法
8.3.5实现广度优先A*算法
8.3.6实现DijkstraA*算法
Chapter9语音识别和手势识别
9.1语音识别技术
9.1.1Text-To-Speech技术
9.1.2谷歌的VoiceRecognition技术
9.2手势识别
9.2.1类GestureDetector基础
9.2.2使用类GestureDetector
9.2.3通过点击的方式移动图片
Chapter10蓝牙技术基础
10.1蓝牙概述
10.1.1蓝牙技术的发展历程
10.1.2蓝牙的特点
10.2低功耗蓝牙基础
10.2.1低功耗蓝牙的架构
10.2.2低功耗蓝牙分类
10.2.3集成方式
10.2.4低功耗蓝牙的特点
10.2.5BLE和传统蓝牙BR/EDR技术的对比
10.3蓝牙规范
10.3.1Bluetooth系统中的常用规范
10.3.2蓝牙协议体系结构
10.3.3低功耗(BLE)蓝牙协议
10.3.4现有的基于GATT的协议/服务
10.3.5双模协议栈
10.3.6单模协议栈
10.4低功耗蓝牙协议栈详解
10.4.1低功耗蓝牙协议栈基础
10.4.2蓝牙协议体系中的协议
10.5TI公司的低功耗蓝牙
10.5.1获取TI公司的低功耗蓝牙协议栈
10.5.2分析TI公司的低功耗蓝牙协议栈
Chapter11Android蓝牙模块详解
11.1Android系统中的蓝牙模块
11.2分析蓝牙模块的源码
11.2.1初始化蓝牙芯片
11.2.2蓝牙服务
11.2.3管理蓝牙电源
11.3和蓝牙相关的类
11.3.1BluetoothSocket类
11.3.2BluetoothServerSocket类
11.3.3BluetoothAdapter类
11.3.4BluetoothClass.Service类
11.3.5BluetoothClass.Device类
11.4在Android平台开发蓝牙应用程序
11.4.1开发Android蓝牙应用程序的基本步骤
11.4.2开发一个控制玩具车的蓝牙遥控器
11.5在穿戴设备中开发一个蓝牙控制器
11.5.1界面布局
11.5.2响应单击按钮
11.5.3和指定的服务器建立连接
11.5.4搜索附近的蓝牙设备
11.5.5建立和OBEX服务器的数据传输
11.5.6实现蓝牙服务器端的数据处理
Chapter12蓝牙4.0BLE详解
12.1短距离无线通信技术概览
12.1.1ZigBee——低功耗、自组网
12.1.2WiFi——大带宽支持家庭互联
12.1.3蓝牙——4.0进入低功耗时代
12.1.4NFC——必将逐渐远离历史舞台
12.2蓝牙4.0BLE基础
12.2.1蓝牙4.0的最杰出表现是低功耗
12.2.2蓝牙4.0的优势
12.2.3Bluetooth4.0BLE推动了可穿戴设备的兴起
12.2.4BLE推动了Android可穿戴设备的发展
12.3低功耗蓝牙协议栈详解
12.3.1低功耗蓝牙协议栈基础
12.3.2低功耗蓝牙API详解
Chapter13项目实战——开发智能心率计
13.1什么是心率
13.2什么是心率表
13.3开发一个Android版测试心率系统
13.3.1系统主界面
13.3.2绘制心率表
Chapter14项目实战——开发计步器
14.1系统功能模块介绍
14.2系统主界面
14.2.1布局文件
14.2.2系统主Activity
14.3系统设置模块
14.3.1系统设置Activity
14.3.2获取各个设置值
14.3.3系统服务设置
14.3.4获取并显示热量
14.3.5显示行走距离
14.3.6获取并显示步伐速率
14.3.7获取并显示行走速率