第一章 Android系统简介
1.1Androd系统发展历史
和“Google”这个词所蕴含着的“Geek”(极客)们对于顶尖技术的狂热崇拜一样,“Android”一词先天就充满天才们追求梦想的气氛。虽然一件杰出的作品并不能只靠“名号”,但毋庸置疑的是,一个响亮又耐人寻味的名称自认会让人产生不自觉的亲近感。这或许是每个Android版本或者其它程序都会有个代号的原因。
“Android”一次来自于法国作家Auguste Villiers de l'Isle-Adam的科幻小说《Leve future》(未来夏娃),是机器人的意思。因此,最初的命名也是以全球著名的机器人为参考命名,后来由于版权问题,才改为以食物的方式命名。不过Android的Logo仍然是机器人形象。
2007年11月,Google成立OHA联盟,成员包括Google、HTC、Intel、LG等通信行业和芯片制造领域的巨头。随后几年,这个联盟又陆续加入不少公司,如著名的Arm公司、华为等加入。同月Google成立Android Open Source Project(AOSP)。这一项目的起步标志着Android系统首次公开面向全世界的开发者与使用者。
1.2Android系统特点
1.开放与扩展性
另外,整个Android系统是开源的,各厂商可以根据自己的需求,来完成对原生态系统的修改。大多数情况下,这种修改只是基于上层UI交互的二次包装,而保留底层系统的大框架。这就好比地产商提供了已经盖好的住宅,虽然是毛坯房,但相较于“万丈高楼平地起”的艰辛,显然已经为我们节约了大量的项目时间。我们可以通过装修把主要精力倾注在用户看得到的地方,从而更大限度的摆脱产品同质化的问题。
2.合理的分层架构
早期版本的Android系统框架包括四层:Linux Kernel、Library and Runtime、Application Framework和Application。后来因为版权原因在Kernel层之上新增了一个hardware Abstraction Layer。
3.SDK
SDK(Software Development Kit)是操作系统与开发者之间的接口,可看成系统对外窗口。
Android系统通过总结应用程序的开发规律,提法了Activity、Service、Broadcast Reciver及Content Provider四大组件,并且和MFC类似,开发者可使用Android机程控件便捷地生成工程原型。
另外,Android SDK覆盖面相当广,且仍在持续扩充中。从线程管理、进程间通信等基础到各种界面组件的应用,只要开发者能想到的,几乎都可以在SDK中找到现成的接口。而对一些界面特效的封装,使得开发者可以高效地设计出各种绚丽的UI效果。
4.生态系统
IT业界长期以来都有一个共识——开发一个操作系统(OS)并不是最难的,最难的是基于这个新系统建立完整的生态系统。用一句老话说,颇有点“打江山易,守江山难”的味道。
5.OTA升级