随着4G网络在全国范围内大规模部署,以及各种无线热点如雨后春笋般在城市遍地开花,甚至在乡村开枝散叶,无线宽带变得越来越普遍,这使得移动设备的应用场景变得更加丰富多彩,人与人之间能够更加方便地随时随地通过多种方式进行沟通,文字、图片已经不再新鲜,视频通信、视频点播也不在话下。智能手机在性能、功能上不断提升,而价格却越来越亲民。如今,在国内大部分人都有一部智能手机。手机犹如钱包、钥匙一样,已经成为每个人随身携带的必备物。智能手机已经不仅仅是一部移动电话,更是一个移动平台,既能当作语音、视频的通信平台,又能当作游戏、娱乐的平台,甚至还可以在手机上处理业务。
如今,传统的互联网已经转向移动互联网,以前还是PC之间的互联,如今变成了移动设备之间的互联。而“万物联网”的概念也已经炒得非常火热,不管是英特尔、三星、高通这样的集成芯片巨头,还是像微软这样的软件巨头,都在推出自己相应的软硬件产品,以趁这个发展势头在物联网时代占得自己的一席之地。将来,所有的“物”都会更加智能,能够更好地与人互动,与其他“物”通信。那时的网络会成为一个人与人、人与物、物与物之间有着万亿连接的庞大网络。
而在物联网时代,移动设备,尤其是智能手机,势必会成为一个核心的接入点,去连接和感知周围环境中的一切。比如通过连接家里的空调、电视机、空气净化器等家用电器,手机会告知甚至自动为用户调节家里的温度和湿度,或控制家里的电视、灯具;通过连接身上携带的传感器并跟踪用户的身体参数,如心跳、呼吸、运动量等,手机可以告知健康状况并给出专业的建议。此外,智能手机也会成为车联网的一大重要接入点,可以远程开启车门,远程反馈汽车的整体状态。总而言之,在万物联网的时代,智能手机会扮演举足轻重的角色。
2007年11月5日,Google推出开放的Android操作系统,同时宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。这一联盟将支持Google发布的手机操作系统以及应用软件,将共同开发Android系统的开放源代码。其他公司和个人也可以免费获取源代码并进行SDK的开发。正是因为Android的开放性以及优异的性能,使它得到了众多厂商的支持。前有三星、摩托罗拉、HTC、索尼,后有异军突起的小米、联想、华为等,纷纷推出了自己定制的Android平台手机。国际研究及顾问机构Gartner公布的最新统计数据表明2014年全球智能手机销售量总计12亿部。另据市场调研公司IDC提供的数据,2014年全年,Android全球智能机所占市场份额为81.5%;其次才是苹果公司的iOS,占14.8%。众星拱月式的拥护,使Android在短短5年内超越iOS以及曾经辉煌一时的塞班系统,顺利雄踞智能手机市场占有率榜首。
不管从功能、性能上,还是从市场占有率及开发者数量上,都说明Android会成为物联网时代一个重要的操作系统。
对于Android底层开发者来说,需要面对复杂多变的应用场景、纷繁的外围设备、不同标准的互联通信,这些无疑都是巨大的挑战。这就要求底层开发者除了掌握软件编程,还要熟悉底层的硬件设备,需要在实践中锻炼自己的技能。目前在市场上也出现了兼容Android操作系统的开源硬件平台,比如BeagleBone、pcDuino等,这对于很多爱好Android的创客来说,是一大利好。就像开源软件Linux和开源硬件Arduino,正是依靠庞大的社区,才使其能够在全世界得到飞快的传播。庞大的社区,不管是对于开发者本身的学习和开发过程,还是对于Android的发展,都会带来积极的促进作用。
在编写本书的过程中,我们与创客社团和Google开发者社区(GDG)的成员沟通时发现,无论是初学者还是开发者,都偏重于软件而缺乏硬件基础,所以非常希望更深入地了解底层的硬件。而且,兼容Android的外围设备越来越多,也迫使底层开发人员去掌握基本的硬件知识和底层驱动开发。
因此,在Google大学合作部的大力支持下,几位从事嵌入式开发的教师合作编写了本书。本书在编写过程中也融入了几位老师的研究课题以及教学经验,希望能对从事和学习Android底层开发的人员有所帮助。
编者
2015年8月