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