1.1 Android概述

1.1.1 无线通信技术

在学习Android系统之前需要先了解通信技术方面的知识,随着智能手机的发展,通信技术也从最开始的1G、2G发展到现在的3G、4G,接下来将详细讲解这4种技术。

· 1G:1G的移动通信电话用的是模拟蜂窝通信技术,这种技术只能提供区域性语音业务,而且通话效果差,保密性能也不好,用户的接听范围也很有限。

· 2G:指第二代通信技术,2G技术分为窄带TDMA、GSM和CDMA共3种。TDMA是欧洲标准,允许在一个射频同时进行8组通话。GSM具有较强的保密性和抗干扰性、音质清晰、通话稳定等优点。CDMA多址技术完全适应现代移动通信网所要求的大容量、高质量、综合业务等。

· 3G:3G是3rd-Generation的简称,是无线通信与互联网结合的移动通信系统,如视频聊天、语音聊天、在线购物、网游等。3G技术在传输声音和数据的速度上有很大的提升。

· 4G:LTE(Long Term Evolution,长期演进技术)是3G的演进,就在3G通信技术正处在酝酿之中时,更高级的技术应用已经在实验室进行研发。4G通信提供了一个比3G通信更完美的无线世界,它可以创造出许多消费者难以想象的应用。4G手机可以提供高性能的流媒体内容,并通过ID应用程序成为个人身份鉴定设备。

1.1.2 Android基本介绍

Android一词的本义指“机器人”,同时也是Google公司于2007年11月5日发布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

Android一词最早出现于法国作家利尔亚当在1886年发表的科幻小说《未来夏娃》中。他将外表像人的机器起名为Android。

Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,于是伊琳娜·布洛芬(Erina Blok)绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。其中的文字使用了Ascender公司专门制作的称为Droid的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象征。有时候,它们还会使用纯文字的Logo。Android图标如图1-1所示。

图1-1 Android图标

2012年7月美国科技博客网站BusinessInsider评选出21世纪十款最重要的电子产品,Android操作系统和iPhone等榜上有名。

系统版本

· Android 1.1 发布时间:2008年9月

· Android 1.5 Cupcake纸杯蛋糕 发布时间:2009年4月

· Android 1.6 Donut甜甜圈 发布时间:2009年9月

· Android 2.0/2.1 Eclair松饼 发布时间:2009年10月26日

· Android 2.2 Froyo冻酸奶 发布时间:2010年5月20日

· Android 3.0 Honeycomb蜂巢 发布时间:2011年2月20日

· Android 4.0 Ice Cream SandWich冰激凌三明治 发布时间:2011年10月

· Android 4.4 KitKat奇巧 发布时间:2013年9月4日

· Android 5.0 Lollipop棒棒糖 发布时间:2014年10月15日

目前移动市场的智能机使用的大部分为Android 5.0操作系统,对比以往的版本,该版本在系统界面上进行了大幅度的调整,包括应用图标、部件的透明度以及文件夹存储图标的方式,开发者可以下载Android 5.0 Platform来开发和测试。

1.1.3 Android系统架构

Android的系统架构与其操作系统一样,采用了分层的架构。从架构图看,Android分为4个层,从高层到低层分别是应用程序层(Application)、应用程序框架层(Application Framework)、系统运行库层(Libraries)和Linux内核层(Linux Kernel)。具体如图1-2所示。

图1-2 Android系统架构

接下来将对Android的系统架构进行详细的讲解。

· 应用程序层:Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用Java语言编写的。

· 应用程序框架层:应用程序框架提供了大量的API供开发者使用。Android自带的一些核心应用就是使用这些API完成的,例如视图(View)、活动管理器(Notification Manager)等,开发者也可以通过这些API来构建自己的应用程序。除了这些,它也是软件复用的手段,任何应用程序都可以发布它的功能模块,只要遵守了框架约定,那么其他的应用程序就可以使用这个功能模块。

· 核心类库:Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。系统C库:一个从BSD继承来的标准C系统函数库,它是专门为基于Embedded Linux的设备定制的;Surface Manager:对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合等。

· Linux内核:Android运行于Linux kernel之上,但并不是GNU/Linux。Android的Linux kernel控制包括安全(Security)、存储器管理(Memory Management)、程序管理(Process Management)、网络堆栈(Network Stack)和驱动程序模型(Driver Model)等。