浅谈Android Services
MSG_MT_SE_IA
毛佳宾
摘要
Android作为新崛起的移动智能平台,在短短的三年时间里迅猛发展,吸引并聚集了相当数量的软硬件厂商,包括各大芯片以及手机厂商。更是吸引了海量的开发者以及用户。而作为智能平台最为重要的应用服务领域,暗涌与纷争更是异常激烈,三足鼎立的形势日趋形成。Android Market以及Service作为Android的重要服务已经成为人们关注的焦点。本文将并不局限于Services,而是力图希望给大家全面地介绍Android,希望各位能够在全面了解Android的基础上,能够对Android Services有更深的认识。
关键字
基本架构Services Android Market 应用开发服务测试
一、Android是什么?
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Google联合包括手机厂商、半导体芯片设备厂商、软件设计厂商在内的部分厂商,成立开放手机联盟OHA (Open Handset Alliance) 。旨在全面推动其新一代移动智能系统。值得一提的是,诺基亚(Symbian),苹果(iPhone),微软(Windows Mobile)以及RIM(Blackberry),并不在此之列。
Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广
这些产品。
二、Android系统基本架构
Android系统采用了软件堆层架构,以Linux核心工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以Java作为编程语言。
Android 应用程序
Android会同核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是用Java编写的。
Android 应用程序框架
开发者也完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组建可以被用户替换。
以下所有的应用程序都由一系列的服务和系统组成,包括:
一个可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器 内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据,或者共享它们自己的数据。
一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layout files )。
一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。
一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。
Android 程序库
Android 包括一个被Android 系统中各种不同组件所使用的C/C++ 库集。该库通过Android 应用程序框
架为开发者提供服务。以下是一些主要的核心库:系统C库:从BSD 继承来的标准C 系统函数库(libc),专门为基于embedded Linux 的设备定制。
软件测试app媒体库:基于Packet Video’s Open Core;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。
界面管理器:对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。
Web核心类库:一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌
入的web视图。
SGL:一个内置的2D图形引擎
3D类库:基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速或者使用高度优化的3D软加速。
FreeType:位图(bitmap)和向量(vector)字体显示。
SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
Android 运行库
Android 包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex 的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的”dx”工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于Linux的一些功能,比如线程机制和底层内存管理机制。
Linux 内核
Android 的核心系统服务依赖于Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。
三、Android平台划分
2009年4月15日Google正式发布了Android 1.5操作系统“Cupcake“
2009年9月16日Google正式发布了Android 1.6操作系统“Donut“
2010年1月12日Google正式发布了Android 2.1操作系统“Éclair“
2010年5月21日Google正式发布了Android 2.2操作系统“Froyo“
2010年底,敬请期待Android 3.0“Gingerbread“
四、Android应用程序概述
在Android平台上开发应用程序相较其他平台而言相对简单,Android并没有设置过高的壁垒,任何开发者都可以根据他们的情况开发各种各样的Android第三方应用程序,然后方便地发布这些应用程序。当然,这一切都必须基于Android SDK。Android的开源之路很大程度上是以运营SDK为基础的,而得到并使用这些SDK是非常简单的,可以免费地从Android网站获得已经正式发布的所有版本的SDK。开发者只需在配置好的IDE中进行Java程序编写即可。
Android应用程序涵盖的范围非常广泛,从最基础的、短信管理,到网络应用程序客户端,如face book,twitter等,Android因其开源的特性已经吸引了众多开发者,各式各样的应用程序已经发布,各手机厂商也在不断研发和改进各自的手机应用程序,可以预见,Android应用程序的广阔前景。Android应用服务其最大的特点是与Google的紧密结合,借助Google在互联网方面的优势,使得Android在移动互联网方面有着得天独厚的优越条件,Android本身提供的互联网应用就非常之多,包括mail客户端,webkit浏览器等Google核心组件,仅需Google帐号,用户就可以体验“云”式服务。而如此强大的网络应用也使得Android 成为推广SNS的较为理想的智能移动平台。
所谓SNS-Social Networking Services,即社会化网络服务,基于六度理论而不断发展至今,其目的是使个人能够更为方便、快捷、有效地获取信息与帮助。值得一提的是,SNS服务采用分布式技术,即P2P技术,构建下一代基于个人的网络基础软件。用户能够使用分布式软件进行点对点沟通,并使得分散个人移动终端进行统筹规划,获得性能的提升,从而使用户得到更好的用户体验。当然,目前的SNS并不十分成熟,也是在不断地发展不断地改进,目前,比较有代表性应用是face book和twitter。我们有理由相信,基于Google强大的互联网实力,SNS在Android系统上必将有一个值得人们期待的未来。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论