《基于Android平台的中国象棋设计与实现硕士学位论文.doc》由会员分享,可在线阅读,更多相关《基于Android平台的中国象棋设计与实现硕士学位论文.doc(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、电 子 科 技 大 学UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA工程硕士学位论文ENGINEERING MASTER DISSERTATION论文题目 基于Android平台的中国象棋设计与实现 工程领域 软 件 工 程 指导教师 谢 梅 作者姓名 方 珍学号 200891207006分类号 密级 UDC 学 位 论 文 基于Android平台的中国象棋设计与实现方 珍指导教师姓名 谢 梅 电子科技大学 申请专业学位级别 硕士 专业学位类别 工程硕士 工程领域名称 软 件 工 程 提交论文日期 2011.6 .5 论文答辩日
2、期 学位授予单位和日期 电 子 科 技 大 学 答辩委员会主席 评阅人 2011年6月5日 2独 创 性 声 明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名: 日期: 年 月 日关于论文使用授权的说明本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被
3、查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)签名: 导师签名: 日期: 年 月 日摘要摘 要近年,随着第三代数字通信技术的发展,数字信息产品如手机、IPad、PDA等开始获得用户的广泛接受和良好的体验。作为移动终端设备的数字信息产品己经从仅仅将通信作为唯一目标的模式演变成了具有更多市场的移动微型机平台。与此同时,随着移动计算的发展,人们在日常工作及生活中将会获得更为丰富的信息服务和信息资源。无处不在的移动通信方式使得人们的工作方式、生活方式以及交流方式产生巨大的
4、影响。随着数字信息产品的普及和相关技术的提高,手机网络游戏从设计、开发等方面也有了长足的发展,尤其是作为游戏一个分支的棋类游戏也在各个手机平台上得以实现,极大地丰富了用户的文化生活。用户在工作之余如乘坐公车、地铁以及候机等场合进行一些有意义的娱乐活动。通过无线网络,人们可以在更大的范围内与对手进行对战,不仅可以增加用户的棋艺水平,同时还可以使用户进行棋艺的文化交流。本文深入研究和分析了Android平台下中国象棋的相关技术,并在该平台下设计和实现了中国象棋。本文主要完成了以下工作:第一,通过阅读国内外相关文献,阐述了手机网络游戏的背景和意义和Android技术的发展状况,分析了手机网络游戏当前
5、所面临的挑战和发展趋势,综述了国内外开发手机网络游戏的相关技术,并深入研究和分析中国象棋搜索算法。第二,对中国象棋需求分析及概要设计、详细设计进行了详细阐述,并详细地描述和分析了系统各个模块所使用到的类。第三,对中国象棋数据分组结构进行了详细阐述,深入分析中国象棋网络对战的网络部分实现及其部署,并对服务器端使用的技术和资源分配策略进行了分析。关键字:手机操作系统,Android,棋牌游戏,中国象棋,系统架构,系统实现I目录AbstractRecently, with the development of third generation digital communication techno
6、logy, products of digital information like mobile phones, IPad, PDA etc. is beginning to be accepted by users for their good service experience. As the digital communication technology products of mobile terminal units, the product has been changed from communication technology to multiple platforms
7、. Meanwhile, with the development of mobile computing, people in their daily life will get more information services. The mobile communication method in daily life will have an enormous impact to peoples work and life.With the great progress of digital communication technology, cell phone network ga
8、mes have make great progress in design and development, especially the board game which has greatly enriched the users life. People can play games when taking buses, subway etc. Through the wireless network, people can play games with others who dont know. Therefore, people can enhance their own lev
9、el and communicate with others.In this paper, cell phone network games are researched and analyzed, the existing problems of developing game on platform Android have been found out, and the relative solution is proposed in this thesis. The main research content in this paper is focusing on five part
10、s as follows:Firstly, we expatiate the significance and background of researching cell phone network games and its relatives, give an analysis to the current trends, challenge and the development in this area, survey some of the recent research results on technology of developing cell phone network
11、games, analyze some of the researching challenges that still need to be addressed referred to development of cell phone network games. Secondly, this thesis introduces the research background, the current mainstream mobile phone OS and the development status of mobile phone network, analyses the cha
12、racteristics of the Android mobile phone platform in detail, compare cell phone network games and PC network games. The advantages and disadvantages of mobile phone network are analyzed for the game lovers. Then this thesis introduces the system architecture, implementation, the solutions of client
13、and servers in detail. A detailed design is given in Android platform. Finally, the testing and deployed for the system are described.Keywords: mobile phone OS, Android, board game, Chinese checkers, system architecture, system implementationIII目 录第一章 绪 论11.1课题简介11.2课题研究的背景及意义11.3手机网游国内外研究现状31.4手机网游
14、与传统PC网游的对比分析61.5 Android平台的不足71.6手机网络游戏发展趋势71.7本文主要工作81.8本文组织结构81.9本章小结9第二章 Android游戏开发关键技术102.1系统简介102.2系统架构112.3 Android游戏开发框架132.4 Android数据存储142.5 Android网络通信152.5.1 Socket通信模型152.5.2 Android网络通信基础162.6本章小结16第三章 计算机博弈实现183.1机器博弈的基本思想183.2棋盘局面表示193.2.1数据结构203.2.2棋子类型的表示213.2.3招法生成213.3走法生成223.3.1
15、判断棋子是否在棋盘中223.3.2判断棋子是否在九宫233.3.3走棋步长设定243.4搜索算法243.4.1博弈树243.4.2极大极小算法253.4.3负极大值算法263.4.4 Alpha-Beta搜索算法263.5局面评估273.6本章小结27第四章 中国象棋系统设计294.1中国象棋需求分析294.1.1系统功能划分294.1.2端到端模式304.1.3服务器端模式314.1.4人机对战模式详细功能描述324.1.5其他功能需求描述324.2中国象棋概要设计334.2.1系统总体框架图334.2.2系统功能模块框架图344.2.3系统静态模型设计354.2.4系统动态模型374.3系
16、统详细设计394.3.1系统结构394.3.2系统结构模块分析404.4本章小结52第五章 中国象棋网络通信及系统部署535.1通信体系模式535.1.1网络协议的选择535.1.2 C/S与P2P555.2网络通信相关技术分析555.2.1端口565.2.2套接字565.2.3网络字节顺序565.2.4客户机/服务器端模式575.2.5网络数据收发过程585.3服务器端通信相关技术分析615.3.1资源分配机制615.3.2异步I/O模式625.3.3并发服务策略635.4系统性能测试635.5运行环境645.6本章小结64第六章 总结与展望65致 谢66参考文献67攻读硕士学位期间发表的学
17、术论文70第一章 绪论第一章 绪 论1.1课题简介CNChess是一款基于Android系统的网络游戏。该款游戏包括服务器端和客户端两部分,服务器端主要任务是处理游戏逻辑以及同步转发客户端数据,客户端通过服务器接进行通信转发数据。服务器端的设计是该款游戏的核心,必须能够做到承受巨大的在线用户数目,接受尽可能多的用户连接。考虑到手持式设备的运算速度,本课题中采取服务器端处理游戏逻辑和管理用户的方式,客户端开发基于Android平台,其主要功能用于展示游戏的界面部分且做适当的游戏规则判断以及数据收发工作。1.2课题研究的背景及意义2007年11月,Google推出了基于Linux平台的开放性移动设
18、备综合平台Android。从软件层次上来说,其结构包括了一个操作系统,中间件以及一些关键的平台应用程序。由于其主要应用于移动电话,因此拥有手机工作所需的全部应用。Android是一种基于Linux V2.6内核的综合操作环境。起初,Android的目标是定位于移动电话领域,其中包括智能手机或更为普通的平板手机等。但是,以Android丰富的功能支持和全面的计算服务,它完全有能力拓展到移动电话以外的市场,比如掌上电脑和上网本。Android同样也可以用于其他的移动终端1。Android最大的优势在于它本身是一个开放性的体系架构。Google为其提供了非常丰富的开发和调试环境,同时Android还
19、提供了各种可扩展的用户体验。Android里面具有多媒体功能,支持数据库的功能,丰富的图形系统以及功能强大的浏览器。Android平台是Google与开放手机联盟联合开发的,该联盟主要由中国移动、T-Mobile、爱立信、摩托罗拉、宏达、宏基和在内的三十多家软件开发商,手机制造商和移动运营商组成。通过与设备制造商、运营商、开发商和其他有关各方结成深层次的合作伙伴关系,通过建立标准化、开放式移动手机软件平台,在整个移动产业内形成一个开放式的系统。这种关系定然会推进移动产业创新更好、更快的发展,在将来为用户提供丰富多彩并且不可预知的应用和服务2。艾瑞咨询根据Gartner发布的全球智能手机销售数据
20、发现,2010年二季度,Android操作系统的市场份额从去年同期的1.8%迅速上升至17.2%,一举超越了苹果的iPhoneOS,如此迅猛的上升势头使其有望在年底超越RIM的黑莓操作系统,成为仅次于Symbian的世界第二大智能手机平台3。然而从全球市场来看,随着手机的普及,手机游戏市场成为一个急速膨胀的经济市场。我国的手机游戏消费市场前景非常可观,据iResearch艾瑞市场咨询提供的数据显示,中国在2012年预计将有4169万的手机游戏付费用户数量,手机游戏市场收入将达到40.9亿,迄今为止,手机网络游戏也表现出了其较高的普及率和非常乐观的市场前景3。图1-1 2010Q2全球智能手机销
21、售情况图1-2 2007年-2012中国手机游戏用户规模图1-3 2007年-2012中国手机游戏市场规模全球手机网游运营商(简称SP)整合游戏开发商(简称CP)是手机网游产业链发展的一个趋势,因为运营商直接与消费者产生利益关系,所以其是最清楚消费者的需求;大多数运营商都具有丰富的游戏运营经验,并且还有风投资金和大企业的支持,资金雄厚;而CP进入门槛比较低,一般规模较小3。因此相互间的竞争则愈显激烈,成本较低。手机网络游戏开发及运营项目,在手机网络使用率极具增长的大背景下,手机用户有更多的选择去下载手机游戏以作为休闲、娱乐和消遣的工具。正是在这种情况下,一些软件开发公司着眼于此领域,把让广大手
22、机用户体验到随时随地的全新游戏乐趣为目的,将即时对战的网络游戏与移动手机连接,并同时进行开发运营。随着市场环境更加成熟理性,手机游戏市场收入规模呈快速增长的势头,手机网络游戏市场的未来非常可观。手机网络游戏领域的巨大发展需求和发展潜力,呼唤一款符合大众口味的,填补大众休闲娱乐空白的手机网络游戏。综上分析,本文认为,如果此项目能够实施得当,则投资者将有较为合理的回报。1.3手机网游国内外研究现状随着我国3G商用步伐的不断加快,手机游戏作为手机娱乐服务的重要内容之一正在以惊人的速度加速发展。移动互联网市场环境的改善和手机终端功能的不断增强为手机游戏开发奠定了良好的基础,在不久的将来,手机游戏定然会
23、成为移动互联网的高成长业务领域。随着3G技术的普及,我国手机游戏正迎来新一轮的大发展。艾瑞咨询发布的数据显示,2009年全球手机游戏市场规模达54亿美元,同比增长22.7%。我国手机游戏市场营收规模为13亿元,同比增长75.22%;根据无线互联网分析机构魅媒调研中心的数据,2008年我国的手机网游用户突破1.5亿,虽然在与传统的单机游戏相比,手机网游市场规模总体尚处于劣势,但增长势头相当迅猛,尤其在2009年我国3G商用启动的背景下,手机网游有望实现阶段性的突破,进入高速发展阶段,增长迅猛的手机用户数量也给手机游戏行业相关企业带来了相当可观的利润,2009年第一季度手机游戏营收为494万美元,
24、环比增长83%,同比增长304%,其中,手机网游营收达到72万美元,环比增长11%,同比增长379%,手机单机游戏营收为422万美元,环比增长106%,同比增长293%3-5。从韩国和日本的手机游戏发展趋势来看,日韩手机游戏营收占其增值业务总营收入的近10%,而在我国这个比例却还不到1%。到目前为止,在我国手机上网用户过亿,如此大的用户基数以及与日韩的市场差距,意味着我国手机游戏市场蕴藏着一座巨大的潜力。随着我国3G商用步伐的不断加快,移动娱乐业务将成为移动互联网业务增长的重要推动力量;作为手机娱乐服务的重要内容之一,手机网络游戏正在加速发展。在手机游戏的市场处于高速发展之时,行业整合也在悄然
25、进行。对手机游戏市场巨大的发展潜力,诺基亚、苹果、盛大、德信、电子艺界等其他领域领先企业纷纷推出手机游戏业务,积极布局手机游戏市场。移动互联网企业也通过加强技术研发、整合优质资源、拓展市场渠道等措施,巩固其在手机游戏领域的领先地位。手机网络游戏的市场规模迅速扩大之时,行业整合也在悄然进行。手机网游的发展趋势是跟随着传统网游的脚步,随着网游公司的加入和经典游戏的开发,一些获得风险投资支持的手机游戏企业开始出现不错的发展势头,而很多的中小手机游戏公司由于用户规模不够而将被市场所淘汰。手机游戏行业将出现两种趋势,一是中小手机游戏企业可能退出这一行业或者其游戏被买断,二是传统网游公司进入手机游戏市场。
26、这些都会使市场逐步规范化。未来手机游戏领先企业扩大竞争优势以及新竞争者进入手机网络游戏市场的主要路径是通过资本运作收购手机网络游戏开发企业。众多知名企业的进入必将改变手机游戏市场的竞争局面,并将逐步形成新的手机游戏生态链。近期国内最大Android社区机锋网网友连续放出仙剑奇侠传、金庸群侠转等PC DOS时代经典武侠RPG的模拟器移植版本,让Android手机从320x480的平民机型,到480x800或480x854的Nexus One或Milestone高分辨率旗舰机型,都可以享用到全屏完美游戏体验,Android游戏也因此成为百度搜索热词中上升最快的热点。近日,国内最大Android社区
27、机锋网有高手放出了经典武侠RPG仙剑奇侠传的移植版本。首先针对320x480小屏手机的普通版,尽管这个版本在Nexus One或Milestone等大屏手机上无法全屏,但还是引起了不小的轰动。此后不到一周,移植者在玩家热情的请愿之下又推出了针对高清屏幕的全屏版本。一时间仙剑成为了Android社区的热点词汇。据移植者透露,另一款经典武侠RPG金庸群侠传也在移植中。图1-4 Android平台下游戏展示随着信息网络的迅猛发展以及手机功能的不断更新换代,在当今人们的工作生活中,手机不仅仅是一种简单的通讯工具,还是一种集办公、娱乐于一体的掌上智能工具。手机早已被定位为一种多媒体的娱乐终端。我国是手机
28、用户居世界第一的国家,手机网络游戏市场前景可观度自然是不言而喻的。摩根斯坦利全球首席经济师史蒂芬罗奇声称:无线互联网产业是唯一亚洲超越美国的技术信息化革命,而他所指的亚洲主要针对的是中国。1.4手机网游与传统PC网游的对比分析互联网的主要应用领域即网络游戏在近年来的快速崛起以及在2007年网络游戏公司的纷纷上市,使人们的开始重视无线互联网的网络游戏,也即手机网络游戏。任何事物的存在都有其存在的理由。手机网游逐渐进入用户的视线,开始占领传统PC网游,这一过程显现了其与传统PC网游不同的优势特点:(1)从手机用户角度看,这为手机网络游戏的发展奠定坚实基础的正是手机网络游戏产业链日益成熟这一条件。信
29、息产业部的统计显示,截至2009年12月,中国手机用户数达,6.47286亿,手机普及率为516。而中国互联网协会数据显示:2009年中国互联网用户规模达1.82亿。电脑上网用户数仅为手机用户数的近1/3。手机游戏门户网站掌控网所做的2009年手机网络用户调查显示,目前的手机网游用户中,学生(38.4%)、公司职员(21.3%)、工人(12.8%)及军人(3.7%)占比合计达76.2%,他们都是手机网游的主要消费群体。在年龄上,手机网游消费的主体是15岁至25岁的手机用户,大概占手机用户的90%。PC网络游戏和手机网络游戏的用户非常相近,年轻人是主要的消费群体。不过由于PC电脑不方便携带,很多
30、用户不能时时刻刻坐在电脑面前进行游戏,所以从客观条件上降低了网络游戏的粘性。由于手机网游具有随时随地的便捷的优越性,调查显示,有40%的手机网游玩家平均每日在线时间为3到5小时。(2)从运营商角度看,随着2.5G网络的发展,3G牌照的下发,网络的传输和承载能力已经有了较大的提高,特别是在速度方面,运营商对手机上网功能做了大量的推广。虽然现在的价格确实有些高,但人们对于手机上网却已不再感到陌生了。(3)从制造商角度看,彩屏的分辨率也越来越高。大多数手机都具有上网功能。手机也有了一定的内存,智能手机的发展更加迅猛,这些为手机网络游戏在手机终端的应用奠定了硬件基础。(4)从内容提供商角度来看,随着短
31、信市场发展日益趋缓,内容提供商更多地把重心放到了手机游戏上,百宝箱、空中网、掌上灵通、蛙扑网、美通无线等一大批内容商迅速崛起,手机游戏的种类也从简单的小游戏过度到大型的互动游戏。丰富的娱乐内容促使手机游戏市场将飞速发展6。1.5 Android平台的不足用户对老游戏移植的疯狂追捧的同时也暴露出了Android平台游戏市场的尴尬现状。虽然近半年来Android无论应用软件数量还是装机出货量都在迅速增长,很有超越iPhone的可能,但在游戏领域还是落后于iPhone,这一点是毋庸置疑的。在商业游戏方面,现在Android平台上的游戏基本上是去年甚至是前年从iPhone平台上的游戏移植过来。Andr
32、oid平台在游戏娱乐方面上的不足是与其所标榜的平台开放性完全不成正比,究其原因大致是如下几点:(1)开放平台降低了开发水准。完全的开放性即是Android的一个特点,其主要是希望能有更多的开发商加入其中,这也是Android用来与 iPhone平台的封闭性进行对抗的有力武器。但是开放性的后果却是造成导致了只要有一点儿开发经验的人都能写应用,于是Android的应用商店中出现了大量的低质量软件,比如随便弄几段mp3就可以成为一个铃声软件,随便打包几张图片就可以作为一个欣赏软件。整个大环境就是如此,这就使得开发者们的心态也发生了变化,从以往的精益求精变成了滥竽充数,要想诞生精品级的游戏也就更难7。
33、(2)软硬件平台的多样性给开发者带来了考验。Android平台系统版本多,硬件规格多,不同于iPhone,其系统与硬件基本是统一的。这样便导致Android的开发者在开发游戏时,考虑的问题就更多,比如不同硬件架构上CPU/GPU的兼容性,不同版本系统功能上的兼顾性等等。(3)市场混乱厂商下水谨慎。在上述两点影响下,Android游戏娱乐市场当前是非常混乱的,有没有移植的价值,能不能赚到钱,这些问题是游戏厂商们最为关注的问题,这也是为什么像Gameloft、Gamevil、Com2us等大型智能手机游戏开发商都是先开发iPhone版本的游戏,等成本回收了利润差不多了的时候再去将该版本游戏移植到A
34、ndroid平台8。迄今为止,还没有哪家开发商敢冒险直接去开发Android平台的大作产品。1.6手机网络游戏发展趋势手机单机游戏营收规模继续保持不断的增长态势,主要促进原因是手机单机游戏包月服务的快速发展,手机网络游戏增长缓慢的原因主要是受限于基础市场环境和游戏周期的影响,除了Java游戏以外,越来越多的手机游戏开发者转向基于Android平台的手机游戏开发,Android手机游戏市场发展前景广阔9。手机游戏开发者积极探索Android手机游戏内置广告模式。1.7本文主要工作本文深入研究和分析了Android平台下中国象棋的相关技术,并在该平台下设计和实现了中国象棋。本文主要完成了以下工作:
35、第一,通过阅读国内外相关文献,阐述了手机网络游戏的背景和意义和Android技术的发展状况,分析了手机网络游戏当前所面临的挑战和发展趋势,综述了国内外开发手机网络游戏的相关技术,并深入研究和分析中国象棋搜索算法。第二,对中国象棋需求分析及概要设计进行了详细阐述,并对系统静态模型设计和系统各个模块进行了详细的描述和分析。第三,对中国象棋的详细设计进行了详细阐述,并对系统各个模块所使用到的类进行了详细的描述和分析。第四,对中国象棋数据包结构进行了详细阐述,然后对中国象棋网络对战的网络部分实现及部署进行了深入分析,并对服务器端使用的技术和资源分配策略作了简单阐述,最后对简要简绍了本课题所设计的游戏的
36、开发环境和运行平台。1.8本文组织结构第一章 绪论。首先概述课题研究的背景,介绍了手机网络游戏的国内外现状,对比分析了手机网络游戏与PC游戏差异,并列举了Android的不足,最后对手机网络游戏发展趋势作了简要介绍。第二章 Android游戏开发关键技术。主要介绍在Android平台下开发游戏所使用的关键技术,包括系统架构、游戏开发框架、数据存储和网络通信等。第三章 计算机博弈实现。首先主要简要计算机博弈的基本思想,然后对开发中国象棋所使用的数据结构进行了详细分析,最后对中国象棋计算机博弈中常用的算法进行了简要介绍。第四章 中国象棋系统设计。对中国象棋需求分析及概要设计进行了详细阐述,并对系统
37、静态模型设计和系统各个模块进行了详细的描述和分析,然后对中国象棋的详细设计进行了详细阐述,最后对系统各个模块所使用到的类进行了详细的描述和分析。第五章 中国象棋网络通信及系统部署。对中国象棋数据包结构进行了详细阐述,然后对中国象棋网络对战的网络通信部分及其部署进行了深入分析,并对服务器端使用的技术和资源分配策略作了简单阐述,最后对简要简绍了本课题所设计的游戏的开发环境和运行平台。第六章 总结与展望。对本文所研究的内容和工作进行了总结和展望。1.9本章小结本章首先概述课题研究的背景,介绍了手机网络游戏的国内外现状,对比分析了手机网络游戏与PC游戏差异,并列举了Android的不足,最后对手机网络
38、游戏发展趋势作了简要介绍。69第二章 Android游戏开发关键技术第二章 Android游戏开发关键技术Android一词的本义是指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,Android平台由操作系统、中间件、用户界面和应用软件这几个部分组成,被开发商称为是首个为移动终端打造的真正开放和完整的移动软件,目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb8。2.1系统简介Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,
39、早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发,它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分,底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写8。图2-1 Android系统架构2010年末数据显示,才刚刚推出两年的Android操作系统现已超越称霸十年的诺基亚(Nokia)Symbian OS系统,Android系统主要手机厂商主要有三星(SAMSUNG)、宏达电子(HTC)、摩托罗拉(MOTOROLA)、LG、Sony Ericsson、魅族M9等,这使得它成
40、为全球最受欢迎的智能手机平台,Android系统不光在智能手机上应用,同时也在平板电脑市场应用广泛。2.2系统架构(1)应用程序Android主要是以Java为编程语言,从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类负责创建可视窗,一个活动中的Activity就是在前景模式,背景运行程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。假如运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便会被停止,甚至被系统清除。View等同
41、于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类,ViewGroup之内还可以有ViewGroup。View的构造函数不需要在Activity中调用,但是Displayable是必不可少的,在Activity 中,Android的View类的显示很大程度上是从XM
42、L中读取的,要通过findViewById()来从XML 中取得View。View 与事件是相互关联的,两者之间通过Listener 结合在一起,任何一个View都可以注册一个不同的event listener,例如:当View要处理用户触碰这类的的事件时侯,就要向Android框架注册一个View.OnClickListener。同时Image等同于J2ME的BitMap。(2)中介软件操作系统与应用程序的沟通桥梁,并用大致分为两层:一种是函数层(Library),另一种是虚拟机层(Virtual Machine)。 Bionic是 Android 改良libc之后的版本。Android 同
43、时也包含了Webkit,所谓的Webkit 也就是Apple Safari 浏览器背后的引擎。Surface flinger 是就将2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVAuthor 、PVPlayer 、PacketVideo Multimedia Framework(PVMF)、Code、Common、Operating System Compatibility Library(OSCL)、OpenMAX。skia 作为An
44、droid 使用的核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但和Linux Cairo相比而言, skia 的功能还只是阳春型的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。Android平台的多媒体数据库采用的是SQLite数据库系统。该数据库被分为共用数据库和私用数据库两种。用户可通过ContentResolver类取得共用数据库。Android的中间层大多都是用Java来实现的,同时采用了特殊的Dalvik 虚拟机。这种虚拟机是一种“暂存器型态”的Java
45、虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。Dalvik虚拟机可以存在很多个实例, 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机不是运行Java字节码,而是运行一种称为.dex格式的文件。(3)硬件抽像层 (Hardware Abstraction Layer)Android 的硬件抽像层(简称HAL)是能以封闭源码形式提供硬件驱动模块。HAL 的主要目的是为了把 Android framework 与 Linux kernel 相隔开,让 Android 不至过度依赖 Linux kernel,从而达成 kernel independent 这样一个概念,同时也让 Android framework 的开发能够在不考虑驱动程序实现的前提下进行发展。HAL stub 是一种代理的概念,stub 是以 *.so 档的形式存在的。Stub 向 HAL“提供”操作函数,并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的 stub。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。(4)编程语言Android 操作平台是运行在 Linux kernel之上的,但