1、基于ANDROID的体系构架和发展前景 王伟 (武汉理工大学华夏学院,武汉430000) 内容提要:21世纪是以网络为核心的信息时代,网络已经成为信息社会的命脉和全球经济发展的重要基础。有线电视网络、电信网络和计算机网络的“三网合一"正在被推进,为了实现在电信网络与计算机网络之间的通信和资源共享,迎接IT“移动时代”的到来,Android搭建了电信网络与计算机网络沟通的平台。这样,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。本文首先给出了系统研究背景,对当前手机操作系统发展做了简单的介绍。进而详细的分析了android的特征、架构、以及android应用的构成和工作机制,并对a
2、ndroid于其他手机操作系统进行了比较,说明了android在手机操作系统中的优势。 关键词:Android、JSP、eclipse、myeclipse—6.5、tomcat、开源、服务器、移动客户端。 中图分类号:TP391。44 文献标志码:A Based on the android framework and development prospects Wang Wei (Wuhan university of technology huaxia college , Wuhan430000,China) 【Abstract】The 21st century is the
3、network as the core of the information age, the network has become the lifeblood of the information society and an important foundation for global economic development. The ”triple play" cable television networks, telecommunications networks and computer networks being pushed Android to build a tele
4、communications network, in order to achieve communication and resource sharing between telecommunication networks and computer networks to meet the IT ”mobile era” a platform for communication and computer networks. thus, the mobile terminal not only a communications network terminal, will become th
5、e internet terminals。 the first to study the background to the current system, mobile operating system development made a brief introduction。 then the detailed analyses the characteristics, a schema about the android ,about the android application forms and mechanisms, and on about the android on th
6、e other operating system, mobile phone has explained about the android the phone in the operating systems。 【Key words】Android、JSP、eclipse、myeclipse—6。5、tomcat、Open source、 the server、 a mobile client . 0引言 随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,IOS等手机平台过于封闭,不能很好的满足用户的需求
7、因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。 1。手机操作系统的发展现状 目前手机的操作系统有十多个之多,非常强大的Symbian、和PC有很好同步能力的wphone、苹果的iPhoneOS、黑莓OS,还有Linux等等,这些操作系统并行发展,其实就是一场灾难。因为所有的业务
8、都需要为这些操作系统做适应,每一个业务都需要多次开发,而用户手机互不通用,每一次换手机都会成为一场灾难。 我想操作系统问题一定会被解决,解决的途径无非两个,一个是和通信频率一样,全世界认识到通用的价值,必须通用,通过全球性的国际组织,形成统一的标准。另一个途径是通过市场的竞争和选择,形成一统天一下的格局.我们都知道PC曾经有过上百个操作系统,但是最后存在的无非是两大系统,一是windows系统,一个是苹果的系统。虽然还存在其它的一些系统,但是均无法形成真正的影响力.手机目前还没有看到国际组织来形成标准.自然竞争最后一统天下的态势非常明显,我想未来十多个操作系统,会逐渐演变成五强争霸,
9、最后到两强对峙,形成今天PC的基本大格局。 未来的五大操作系统: Symbian:曾经这个系统占据了手机60%左右的市场份额,绝大部分用户使用的手机都是这个操作系统,很久以来,Symbian系统以人性化、操作方便著称,也有数十亿用户习惯了它的使用。在它的后面有一个强大的诺基亚。尤其值得的一提的是,现在它已经是一个开放的系统,它得到大量的开发者的支持.现在任何一个手机业务如果不先想到诺基亚的手机不想到Symbian,那无异是放弃一个巨大的市场。然而symbian要面临的一个巨大考验是,它是2G时代开发的系统,虽然面向智能手机时代,已经出了S60,功能也越来越强大,但是它的底层架构还是
10、存在一些问题,效率不是很高。同样的硬件情况下,表现并不如人意,而以后用什么办法能突破,这也是一个巨大问题。但是,symbian在相当长一段时间会非常强大,我们也渴望诺基亚能在架构上完善symbian,或者用新的系统来取代它. Wphone:在PC时代,windows的强大是不容质疑的,在手机领域要重造一个windows是微软一直的梦想。所以微软是投入了很大精力在手机操作系统有想所作为,windowsce,windows mobile一到今天的wphone。坦率地说,情况一直不太好,从来没有达到微软希望的份额,甚至未来有被挤垮的危险。出现这样的情况,最重要的一点,微软在手机操作系统上,
11、一直没有形成突破性的思维,而是沿袭了windows的思路,一方面这个系统臃肿,许多智能机一上就被拖慢,甚至被拖垮,用户体验不好,另一方面在UI的设计上,还是windows多层菜单式,这完全不符合手机的特点,这方面可以说微软没有创新,只有守旧.Wphone可圈点之处,就是和PC的同步非常强大,也比较方便。因此,随着硬件越来越强大,它还是会有一些机会,不过如果没有质的变化,它不会有大的机会. Iphone os:iphone的创新,不止是一个外观和设计,其实它更重要的操作系统和UI的创新,这个基于linux的操作系统,无疑是为智能手机专门开发的,我们都知道,iphone产品的硬件配置都不
12、高,尤其是CPU,无法和现在高端智能手机相比,但是它的稳定性和反应速度,却比非常多的智能手机要好。道理就是操作系统,这是一个架构简单,反应速度快,稳定性高的系统,它的出现,使智能手机操作的体验和感受发生了质的变化.而它的UI设计却革命性地打破了菜单与层级,用平铺式的多屏设计,把每一个应用都平铺在用户的面前,让用户能用最快的速度找到自己喜欢的应用.所有用过iphone的用户,都会有新的体验和感受,应该说,目前为止,对于智能手机的理解,还是iphone的系统做得最好.现在大部分系统都要把UI从层级转向平铺也很明显说明了这一点。Iphone最大的问题,这是一个封闭的系统,只有苹果自己用这个产品,支持
13、的手机非常少,这种情况它就缺乏了爆发力,很可能会重演PC的格局,东西好,但是只能在一个小的平台上,而且虽然现在iphone有大量的软件,只不过起步早,其它系统采用开放的平台,有大量手机支持,假以时日,超过iphone是不成问题的。 黑莓OS:这也是一个封闭的系统.Blackberry产品最初出现时,并不是为了打电话,而是为了收发电子邮件而研发,这个产品一开始就不是为了电话而生的,因此,它的目标是企业移动办公的一体化解决方案,这个系统也是一个智能化程度很高,架构适合智能手机的系统.这个系统一个最大的特点,就是它的立足点不是通信,而是一个企业移动办公的平台,有很多有针对性、商用质量很高的
14、商业应用作为支持.而且它的安全性程度较高,对于高端商业人士而言,不仅可以方便快捷地进行商务处理,同时,很大程度上,它的可靠性是值得期待的.通过相当一段时间发展,黑莓手机已经成为了欧美地区,尤其是美国商务人士的标志。这些和它的稳定、具有安全性的操作系统有很大关系。 黑莓也存在一个较为封闭的问题,它只是Blackberry手机才使用,而且如果它要开放,就失去了安全性和自己特有应用的价值. 2。Android的架构分析 Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的
15、全套手机软件方案.它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性.Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供 应用程序调用。 2。1Android的特征 应用框架:用于开发可重用、可替代的组件。 Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。 内嵌浏览器:基于开源的浏览器网页排版引擎WebKit. 优化的图形:强大的自定义二维图形
16、库。基于OpenGL ES 1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。 SQLite数据库:SQLite提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。 多媒体支持:支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。Open Core是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实现的。通过Open Core,程序员可以方便快速的开发出想要的多媒体应用程序. GSM技术:(依赖硬件)Global
17、System for Mobile Communications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。 蓝牙,EDGE,3G and WiFi:(依赖硬件)蓝牙和Wi—Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM演进技术。 Cameram,GPS,compass,andaccelerometer:(依赖硬件)GPS(Global Positioning
18、 System),即全球定位系统.它是由一个由覆盖全球的24颗卫星组成的卫星系统.Compass是一个开放源码的Java搜索引擎框架。 强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是个集成开放环境. 2。2Android架构 Android的架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DalvikVM上运行 的。 2.2。1。关键应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括em
19、ail客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是使用JAVA语言编写的。 2。2.2应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件.隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按
20、钮(buttons), 甚至可嵌入的web浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息.活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能. 2。2.3.系统运行库 2.2。3。1程序库 Android 包含一
21、些C/C++库,这些库能被Android系统中不同的组件使用.它们通过 Android 应用程序框架为开发者提供服务.以下是一些核心库: 系统 C 库 — 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H。264, MP3, AAC, AMR, JPG, PNG 。 Surface Manager — 对显示子系统的管理,并且为多个应用程序提
22、供了2D和3D图层的无缝融合. LibWebCore — 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 3D libraries — 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType —位图(bitmap)和矢量(vector)字体显示。 SQLite — 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 2.2。3.1运行库 Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能. 每一个Android应用程序都在它自己
23、的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(。dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 ”dx” 工具转化成。dex格式由虚拟机执行.Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。 2.2.4。Linux内核 Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议和驱动模型.Linux 内核也同时作为硬件和
24、软件栈之间的抽象层. 2。3Android应用的构成和工作机制 Android应用程序来说,是由Activity、Intent Receiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成.在应用程序中使用时,需要在配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。 2.4 Android与其他手机操作系统的比较 我们主要从手机操作系统的Portablity、Reliability、Connectivity、Product Diversity、 Open Platform
25、Kernal Size、Standards、Security和Special Features这九个方面进行了比较,具体的比较结果表1.1 表1.1: 对上表比较的九项每一项以1分、0。5分、0分三个级别来进行了评分,综合各项评分,最好得到的评分结果是Android8。5分、Windows mobile 5.5分、Symbian6。5分。Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策将赢得不少手机制造商的支持。而且在其平台上集成了不少优秀的开源工程,如Webkit、OpenGL等,相信在
26、不久,将会有更多的优秀工程加入到Android中来。相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功能也将会越来越强大. 经过对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。对于Android应用程序来说,主要由Activity、 Service、 Intent Receiver和Content Provider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。Activity是应用程序中最重要的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。
27、最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。 3 Android操作系统发展前景 Android手机系统的一个很大的优势在于其开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本.Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。从下面列出的开放手机联盟成员可以看出其强大的实力:开放手
28、机联盟成员: 一、手机制造商: 台湾宏达国际电子(HTC)(Palm等多款智能手机的代工厂) 摩托罗拉(美国最大的手机制造商) 韩国三星电子(仅次于诺基亚的全球第二大手机制造商) 韩国LG电子 中国移动(全球最大的移动运营商,有3。5亿用户) 日本KDDI(2900万用户) 日本NTT DoCoMo(5200万用户) 美国Sprint Nextel(美国第三大移动运营商,5400万用户) 二、半导体公司: Audience Corp(声音处理器公司) Broadcom Corp(无线半导体主要提供商) 英特尔(Int
29、el) Marvell Technology Group Nvidia (图形处理器公司) SiRF(GPS技术提供商) Synaptics(手机用户界面技术) 德州仪器(Texas Instruments) 高通(Qualcomm ) 三、软件公司: Esmertec Living Image NMS Communications Noser Engineering AG Nuance Communications PacketVideo Android同时也获得了大量开发者的支持。据Google称,在其推
30、出后的两个月内,程序员下载这个软件开发平台的次数已经高达250000多次。尽管在如 此庞大的下载数量中只有一小部分开发者真正开始编写实际的应用程序,但我们却由此可以看出惊人的开发商兴趣.相比之下,在Symbian操作系统推出一年 后,其操作指南的下载次数只有70000次左右。 看起来“Google手机"尽管宣传比较低调,但实际卖得还不错,前景也被人看好.其原因有: 1。开放性. android跟linux并不是一个概念,android基于linux,但更重要的是它提供了一个framework,基于这个,developer可以轻松的开发各种应用程序。并且这些代码以及开发工具都是开放和免费的.
31、 2。与google应用的无缝结合.如果现在一台电脑不能上网,那么简直就是一台废物,同样,如果一个手机不能上网,在2,3年之后,也会丢失一大部分价值(不需要上网的手机用户还会存在很长一段时间)。而google开发android的目的也在于把手机和这些应用结合起来。 3。。开发的易上手性,java是最容易上手的,不像iphone,需要熟悉他的很多框架,以及objective c(虽然学起来也并不难)。 4。结束语 本文章介绍的一个基于Android操作系统的发展前景和系统构架,以及几个主流操作系统的未来发展状况,希望能够对读者对理解Android有帮助。 致谢 从这篇论文选题到论文撰
32、写结束的这段时间里,我要感谢我的指导老师,在整个设计过程中,他给予了我耐心的指导和帮助,当然还要感谢帮助过我的同学,我们在相互学习和交流中,解决问题共同进步,最后还有我们信息系的老师,感谢你们为我们的学习与成才创造的各种条件和付出的辛勤劳动。 8参考文献 [1]张艳芳,周聪.基于Android平台的移动终端设备的面积测量应用开发[J].计算机与现代 n 化,2009,12 [2]陈昱,江兰帆.基于Google Android平台的移动开发研究[J].福建电脑,2008,11 [3]何花.矽统科技选用MIPS处理器IP开发采用Android平台的移动网络设备SoC[J]。单片机与嵌入式系统应用,2010,7 [4]张鹏.中国企业为什么青睐Android[J].视界,2010,3 [5]《android开发入门指南》(第2版) 索盖林 [6]《Beginning Android》 Mark L。 Murphy [7]《Unlocking Android》 W。FRANK ABLESON,CHARLIE COLLINS,ROBI SEN [8]《應用框架原理與程式設計36技》高焕堂






