Android智能手机平台
目前手机面临了几个挑战。第一个挑战是它有多个不同的操作系统,彼此兼容度不高。移动运营商要针对这些系统开发多个不同的版本服务;第二个是,各种不同的手机操作系统都不是免费的,消费者需要为其买单;第三个是,手机和互联网,它是需要互相地兼容、互通的,互联网有更多、更丰富的服务,用户希望能够更好的提供在手机平台上面,能够体现出来。针对以上3个问题,手机操作系统Android应运而生。
Linux手机现有两大阵营:LiMo基金会及开放手机联盟(Open Handset Allicance)。LiMo 基金会与开放手机联盟都在2007年成立,同样在本届GSM全球移动通讯大会(Mobile World Congress)首度展示商品化的最新成果,其中LiMo基金会一口气展示了7家厂商开发的18款手机,将自2008年上半年起陆续问世,开放手机联盟则有7家会员厂商展出Android平台原型机,预计2008年下半年商用化,相互较劲的意味十足。
LiMo方面已有摩托罗拉(MOTOrola)、三星电子(SAMSUNG Electronics)、LG(LG)推出多款手机,NEC及松下移动通讯(Panasonic Mobile Communications)也为NTT DoCoMo开发多款手机,部分机种已经正式问世,至于Android平台则有Marvell、高通(Qualcomm)、德州仪器(TI)、安谋(ARM)、NEC、意法半导体(STMicroelectronics)及Wind River开发出不同硬件平台的原型机。
Google主导开放手机联盟(OHA),有34名成员组成的联盟目标共同指向一个开源的移动平台Android。Google显然是领导者,而LIMO组成的仅仅是一批供应商的组合而已。
另一个区别是平台本身,limo基金会没有自己的应用软件开发平台,而Google主导的开放手机联盟(OHA)却已有自己的移动开发平台Android
linux内核视频教程全套至于LiMo与开放手机联盟的发展方向,其实不尽相同,LiMo的平台只开放给会员厂商,除了定义规格及标准化等工作外,也会涉及授权及产品认证等事宜,但开放手机联盟的平台将会全面开放,不限于会员厂商。
由于Linux的开放性,使得在这一平台上所开发的软件缺少一定的标准性,导致了许多应用软件间的兼容性都是不容回避的问题。
在手机操作系统市场,除了Linux之外,对于Android来说威胁最大的就是微软公司的移动视窗、诺基亚控股的Symbian系统。
Android的一个重要特点就是它的应用框架和GUI库都用Java语言实现。
Android内部有一个叫作Dalvik的Java虚拟机,Java程序由这个虚拟机解释运行。Android平台的应用程序也必须用Java语言开发。
下面我们就对Android来进行详细的了解:
Android是包括一个操作系统,中间件和关键应用的移动设备的一个软件堆。
特性:
u应用程序框架允许重复使用和替换组件。
u Dalvik 虚拟机为移动设备优化
u综合的浏览器基于开源的WebKit引擎
u优化的图像由2D图像库支持; 3D 图形基于OpenGL ES 1.0 (可选择硬件加速) u SQLite提供结构化的数据存储
u多媒体支持常见的声频,录像和图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
u GSM 电话(依赖于硬件)
u蓝牙, EDGE, 3G, and WiFi(无线保真) (依赖于硬件)
u照像机,GPS,指南针和加速器 (依赖于硬件)
u丰富的开发环境包括模拟器设备,调试工具,内存和显示轮廓, Eclipse集成开发环境的一个插件。
Android 构架:
以下图形显示了Android操作系统的主要部件。
应用程序:
Android将装载一系列的核心应用程序,包括客户端,SMS程序,日历,地图,浏览器,联系簿,等等。所有的应用程序都用Java编程语言编写。
应用程序框架:
开发者可以完全访问APIs,因为核心应用使用相同的应用程序框架。应用程序框架是为简单的组件重用而设计的,任何应用程序都可以发布自己的功能,任何其它的应用程序可能利用这些功能(以被框架实施的安全约束为条件)。相同的机制允许用户替换组件。
全部应用的基础是一套服务和系统,包括:
u可用来构建应用程序的一系列丰富的可扩展的Views(视图组件),包括 lists(列表), grids(栅格), text boxes(文本框), buttons(按钮), 甚至一个嵌入式的Web
浏览器。
u内容提供者允许应用程序访问其它应用程序的数据,(例如联系簿),或者共享它们自己的数据。
u资源管理工具提供访问非代码的资源,例如本地文本,图像和布局文件。
u通知管理工具允许所以的应用程序显示状态栏中的常用提示。
u Activity管理工具管理应用程序的生命周期,以及提供普通导航和后退。
库:
Android包括一系列的Android系统中多种组件用到的C/C++库。这些功能通过Android 应用框架与开发者接触。以下列举的是一些核心库:
u系统C库 - BSD 得到的标准C系统库(libc),为嵌入的基于Linux的设备调试u多媒体库 - 基于PacketVideo的OpenCORE;该库支持回放和很多流行的音频与视频形式的记录,以及静态图象文件,包括MPEG4,H. 264,MP3,AAC,AMR,JPG
和PNG
u界面管理工具- 管理访问与显示子系统和从多应用无缝的集成2D 和3D图像的图表层。
u LibWebCore(Web核心库) - 一个现代的Web浏览器,它提供Android浏览器和嵌入式的Web显示。
u SGL - 基础2D图像引擎。
u3D库- 基于OpenGL ES 1.0 APIs的工具;这些库或者使用(可提供的话)3D 硬件加速或者使用内置的高度优化的rasterizer软件3D 。
u FreeType(免费类型) - 位图和矢量字体提供。
u SQLite - 一个可被所有应用程序使用的强大的轻量级的关系型数据库引擎。
Android 运行环境:
Android包括一套核心库,它们提供大部分Java编程语言中的可用到的功能性的核心库。
每一个Android应用程序都运行在它自己的进程里,带着它自己的Dalvik虚拟机实例。Dalvik已经被编写出来,因此一个设备可以高效的运行多个虚拟机。Dalvik虚拟机在Dalvik 可执行格式(.dex)中执行文件,它是经过优化的,以至于可以用最小的内存。这种虚拟机是基于登记的,利用内置的"dx" 工具将文件转化成.dex格式,然后经过Java语言编译器编译成类,最后运行该类。
Dalvik虚拟机依靠底层的Linux内核功能,如:进程和低级的内存管理。
我们只需下载了Android的SDK就可以在电脑上虚拟这个手机操作系统.下面是一些截图,其实界面好多风格和iPhone都有相似之处.
几乎和iPhone一样的Call界面:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论