第1章Android简介本章学习目标:•了解各种手机操作系统的特点•了解开放手机联盟的目的、组成和性质•了解Android平台的发展历史•掌握Android的特征•掌握Android平台的体系结构1.1手机操作系统目前手机操作系统主要有六种•WindowsMobile–由微软公司推出的移动设备操作系统–播放音视频、浏览网页、MSN聊天、收发电子邮件–硬件配置高、耗电量大、电池续航时间短、硬件成本高•PalmOS–由3Com公司的PalmComputing开发–32位嵌入式操作系统–所占的内存小–不具备录音和MP3播放功能1.1手机操作系统•Symbian–由Symbian开发和维护,后被诺基亚收购–实时多任务的32位操作系统–功耗低、内存占用少、应用界面框架灵活–不开放核心代码,但公开API文档•Linux–由计算机Linux操作系统演变而来–开放源代码–有一些先天不足1.1手机操作系统•iPhoneOS–由苹果公司开发的操作系统–iPhoneOS的系统构架–支持内置加速器•Android–由谷歌发布的基于Linux的开源手机平台–Android的组成–第一个完全定制、免费、开放的手机平台–使用Java语言开发–支持多种硬件设备1.2Android起源•1.2.1开放手机联盟–开放手机联盟(OpenHandsetAlliance,OHA)由谷歌公司于2007年发起的一个全球性的联盟组织,成立时包含34家联盟成员,现在已经增加到50家–联盟组织的目标•研发移动设备的新技术,用以大幅削减移动设备开发与推广成本•同时通过联盟各个合作方的努力,建立了移动通信领域新的合作环境,促进了创新移动设备的开发,创造了目前移动平台实现的用户体验1.2Android起源•1.2.1开放手机联盟–开放手机联盟成员•电信运营商•半导体芯片商•手机硬件制造商•软件厂商•商品化公司1.2Android起源•1.2.1开放手机联盟–电信运营商:中国移动通信、KDDI(日本)、NTTDoCoMo(日本)、SprintNextel(美国)、T-Mobile(美国)、Telecom(意大利)、中国联通、Softbank(日本)、Telefonica(西班牙)和Vodafone(英国)1.2Android起源•1.2.1开放手机联盟–半导体芯片商:Audience(美国)、AKM(日本)、ARM(英国)、AtherosCommunications(美国)、Broadcom(美国)、Intel(美国)、Marvell(美国)、nVIDIA(美国)、Qualcomm(美国)、SiRF(美国)、Synaptics(美国)、ST-Ericsson(意大利、法国和瑞典)和TexasInstruments(美国)1.2Android起源•1.2.1开放手机联盟–手机硬件制造商:Acer(中国台湾)、华硕(中国台湾)、Garmin(中国台湾)、宏达电(中国台湾)、LG(韩国)、三星(韩国)、华为(中国)、摩托罗拉(美国)、索尼爱立信(日本和瑞典)和东芝(日本)1.2Android起源•1.2.1开放手机联盟–软件厂商:AscenderCorp(美国)、eBay(美国)、谷歌(美国)、LivingImage(日本)、NuanceCommunications(美国)、Myraid(瑞士)、Omron(日本)、PacketVideo(美国)、SkyPop(美国)、Svox(瑞士)和SONiVOX(美国)1.2Android起源•1.2.1开放手机联盟–商品化公司:AplixCorporation(日本)、NoserEngineering(瑞士)、Borqs(中国)、TAT-TheAstonishing(瑞典)、TelecaAB(瑞典)和WindRiver(美国)1.2Android起源•1.2.2Android发展史–2007年11月5日,开放手机联盟成立–2007年11月12日,谷歌发布AndroidSDK预览版,这是第一个对外公布的AndroidSDK,为发布正式版收集用户反馈1.2Android起源•1.2.2Android发展史–2008年4月17日,谷歌举办开发者竞赛–2008年8月28日,谷歌开通AndroidMarket,供Android手机下载需要使用的应用程序–2008年9月23日,发布AndroidSDKv1.0版,这是第一个稳定的SDK版本–2008年10月21日,谷歌开放Android平台的源代码1.2Android起源•1.2.2Android发展史–2008年10月22日,第一款Android手机T-MobileG1在美国上市,由中国台湾的宏达电制造–2009年2月,发布AndroidSDKv1.1版1.2Android起源•1.2.2Android发展史–2009年2月17日,第二款Android手机T-MobileG2正式发售,仍由中国台湾的宏达电制造–2009年4月15日,发布AndroidSDKv1.5版1.2Android起源•1.2.2Android发展史–2009年6月24日,中国台湾的宏达电发布了第三款Android手机HTCHero1.3Android特征–提供访问硬件的API函数,简化像摄像头、GPS等硬件的访问过程–具有自己的运行时和虚拟机–提供丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性–提供轻量级的进程间通讯机制Intent,使跨进程组件通信和发送系统级广播成为可能–提供了Service作为无用户界面,长时间后台运行的组件–支持高效、快速的数据存储方式1.4Android体系结构采用软件堆层的架构,共分为四层1.4Android体系结构•Linux内核–硬件和其他软件堆层之间的一个抽象隔离层–提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等1.4Android体系结构•中间件层由函数库和Android运行时构成–函数库,主要提供一组基于C/C++的函数库•SurfaceManager,支持显示子系统的访问,提供应用程序与2D、3D图像层的平滑连接•MediaFramework,实现音视频的播放和录制功能•SQLite,轻量级的关系数据库引擎•OpenGLES,基于3D图像加速•FreeType,位图与矢量字体渲染•WebKit,Web浏览器引擎•SGL,2D图像引擎•SSL,数据加密与安全传输的函数库•Libc,标准C运行库,Linux系统中底层应用程序开发接口1.4Android体系结构•中间件层–Android运行时•核心库,提供Android系统的特有函数功能和Java语言函数功能•Dalvik虚拟机,实现基于Linux内核的线程管理和底层内存管理1.4Android体系结构•应用程序框架–提供Android平台基本的管理功能和组件重用机制•ActivityManager,管理应用程序的生命周期•WindowsManager,启动应用程序的窗体•ContentProvider,共享私有数据,实现跨进程的数据访问•PackageManager,管理安装在Android系统内的应用程序•TeleghonyManager,管理与拨打和接听电话的相关功能1.4Android体系结构•应用程序框架•ResourceManager,允许应用程序使用非代码资源•LocationManager,管理与地图相关的服务功能•NotificationManager,允许应用程序在状态栏中显示提示信息1.4Android体系结构•应用程序–提供一系列的核心应用程序–包括电子邮件客户端、浏览器、通讯录和日历等