基于android手机平台的吃豆人游戏设计与开发_第1页
基于android手机平台的吃豆人游戏设计与开发_第2页
基于android手机平台的吃豆人游戏设计与开发_第3页
基于android手机平台的吃豆人游戏设计与开发_第4页
基于android手机平台的吃豆人游戏设计与开发_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)开题报告(含文献综述、外文翻译)题目基于ANDROID手机平台的吃豆人游戏设计与开发姓名学号30701395二一年十二月二十五日毕业设计(论文)开题报告(包括选题的意义、可行性分析、研究的内容、研究方法、拟解决的关键问题、预期结果、研究进度计划等)1选题的背景和意义11选题的背景目前随着移动设备越来越普及以及移动设备的硬件的提升,移动设备的功能越来越完善,移动设备的系统平台也日渐火热起来。目前国内最常见的移动开发平台有SYMBIAN,IPHONE,WINDOWSPHONE以及当下正在逐步兴起的ANDROID。目前为止国内已经有很多ANDROID系统的用户。截止2010年第二季度ANDROID系统的国内市场占有率已经过10,在西欧以及北美智能手机市场占有率也在20左右。可见ANDROID系统正在崛起之中。但是对于ANDROID系统的应用和开发在国内仍然属于起步和探索阶段。急需要大量的相关技术和人员的投入。下面首先介绍一下ANDROID系统。ANDROID是基于LINUX内核的软件平台和操作系统,是GOOGLE在2007年11月5日公布的手机系统平台,早期由GOOGLE开发,后由(OPENHANDSETALLIANCE)开发。它采用了软件堆层(SOFTWARESTACK,又名以软件叠层)的架构,主要分为三部分。低层以LINUX核心工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以JAVA作为编写程式的一部分。在学院和老师的支持和帮助下,我所在的手机开放实验室在2009年底就开始对ANDROID系统进行深入细致的研究。在国内ANDROID相关领域属于较早研究的一批,经过老师和同学一年多的努力,在这个方面也积累了一定的知识和技能。所以希望通过这篇论文的研究,展示我这一年多来学习与实践的成果,希望给本科四年的学习交上一份圆满的答卷。12国内外研究现状121国内外手机系统现状目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现主流手机操作系统。现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的SYMBIAN操作系统。SYMBIAN是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的SYMBIAN系统有以下四个版本,分别为S40、S60第二版)、S60(第三版)、S60(第五版)。S60(第五版)为触摸屏手机版本。IOS是由苹果公司为IPHONE开发的操作系统。它主要是给IPHONE、IPODTOUCH以及IPAD使用。就像其基于的MACOSX操作系统一样,它也是以DARWIN为基础的。IOS的系统架构分为四个层次核心操作系统层(THECOREOSLAYER),核心服务层(THECORESERVICESLAYER),媒体层(THEMEDIALAYER),可轻触层(THECOCOATOUCHLAYER)。系统操作占用大概240MB的存储器空间WINDOWSMOBILE系列操作系统是从微软计算机的WINDOWS操作系统演化而来的。WINDOWSMOBILE系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置如内存、储存卡容量等上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。PALMOS属于PALM公司开发,是一种32位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用PAML公司生产的手机上。该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。PALM系统与其他手机系统相比在其它方面也还存在一些不足,如PALM操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。在2009年8月,由中国移动所主导开发OPHONE平台面世。OPHONE平台采用开源的LINUX作为系统内核,借鉴并兼容ANDROID平台,集成灵活高效的JAVA应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。122国内外手机应用现状随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE这种传输速度仅能达到384KB/秒的275G过渡技术而欣喜的时候,国外早已开始试行HSDPA这种35G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。目前国内外手机应用服务方向主要有基于地理位置的信息服务(LOCATIONBASEDSERVICELBS)它是通过电信移动运营商的无线电通讯网络如GSM网、CDMA网或外部定位方式如GPS获取移动终端用户的位置信息地理坐标,或大地坐标,在GISGEOGRAPHICINFORMATIONSYSTEM,地理信息系统平台的支持下,为用户提供相应服务的一种增值业务。例如手机定位,导航服务。近年来十分热门的网络社交服务(SOCIALNETWORKINGSERVICES)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对IPHONE,ANDROID,塞班等手机平台推出了手机客户端。国外最大的社交FACKBOOK也已经传出正在进行针对手机的产品的研发。TWITER,MYSPACE等国外知名社交类网站都已经推出手机版。国内淘宝网旗下口碑网在今年也已经推出针对多个手机平台的客户端程序。MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在ANDROID平台上的QUICKOFFICE就是这样的软件。在GOOGLEMARKET(一个谷歌针对ANDROID系统用户所开发的应用商场)上已经有过万的企业应用办公套件。手机娱乐游戏类应用,该类应用作为传统类手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。各类传统PC游戏厂商进入手机领域。13发展趋势随着3G应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个性化设置(保持在本地或者云端),当重要时间点或关键事物需要用户注意时,手机会向用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、优惠活动、实时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如在网络世界养的宠物,可以借助音频设备表达叫声,借助马达和位置传感器等传递其跳、跃等行为信息;也可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的那个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法提醒。接着,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围世界的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、交通路况。另外借助物联网,用户间可以方便、快速的分享资源,协助和交互。如进行端到端的多人游戏、照片分享、书籍分享、音乐分享等。然后,作为经济工具,在交通或者信息不发达的情况下,帮助用户找到最佳的市场,获得有价值的帮助信息,帮助用户从事的经济活动的收益率。最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策那些内容可以浏览、下载或分享。在安全性上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,保护用户的个人隐私和基于手机的金融活动如电子钱包、在线支付、在线贸易等。2研究的基本内容根据近一年来的学习ANDROID平台游戏动画的经验,结合现在已有技术,基于游戏动画设计的基本原理。设计一个基于ANDROID平台的吃豆人的游戏应用。主要包含游戏的关卡切换,游戏动画的实现,基于图形的碰撞检测,游戏数据在手机系统和网络上存储和人工智能的实现。21基本框架首先基于ANDROID平台特性,把本应用主要划分为五大模块分别为程序控制界面、数据持久化模块,网络数据传输模块,游戏逻辑模块,游戏音效模块。程序体系结构如下图所示图21吃豆人程序体系结构图本程序主要通过程序控制界面和用户进行交互,用户通过该界面上的相应选项进行游戏,控制怪物进行游戏,提交游戏积分,存储游戏积分,播放游戏音乐等各项功能。程序控制界面同时也负责各模块间数据的传输。游戏逻辑模块主要功能是负责游戏画面的绘制,游戏中敌对怪物人工智能的实现,以及用户输入的控制的响应(如键盘,导航键和屏幕输入)。下图是游戏逻辑块的体系结构,游戏逻辑模块主要分为人工智能、游戏绘图引擎和人机交互控制。图22吃豆人程序体系结构图数据持久化模块主要负责游戏中所产生的内存数据,转化成可存储的XML数据。该模块包含XML数据结构定义、XML生成和XML数据解析。具体结构如下图所示图23吃豆人程序体数据持久化图网络数据传输模块主要功能为提交用户游戏评分至网络服务器中。游戏音效模块提供游戏音乐的播放和关闭的功能,其向主控制界面暴露开启和关闭音乐的接口。22研究的重点和难点重点(1)基于ANDROID游戏动画的实现(2)游戏地图的数据结构的生成。(3)游戏动画中的碰撞检测问题。(4)ANDROID系统网络通信协议以及数据交互方法。(5)ANDROID系统数据存储方式。(6)人机交互界面的友好性。难点(1)多线程程序编写的安全性问题。(2)ANDROID系统的DALVIK虚拟机垃圾回收问题的处理。(3)基本ANDROID吃豆人应用的人工智能算法的实现。(4)游戏中多线程通信的问题。23拟解决的关键问题关于ANDROID游戏动画的实现上,实现一个相对简单高效的游戏引擎,或者从其他手机平台移植相对较为成熟的游戏动画引擎。了解ANDROID系统的DALVIK虚拟机工作机制,解决由于虚拟机系统在垃圾回收时所造成的占用系统资源较大的问题。解决游戏人工智能的解决方案,查找A,遗传算法等算法在本应用中实现的可能性。3研究的方法及措施利用网络查阅国内外相关资料,利用数据库资源浏览大量的期刊与文献,进行分析与研究。深入国内外ANDROID系统开发者社区,与一线开发者进行交流,获取更多信息与技术。应用拟采用JAVA实现,模块化结构,独立开发各个功能模块,尽量降低各模块之间的耦合,在各个功能模块实现的基础上构建灵活方便的UI界面。4预期研究成果完成毕业论文和毕业设计以及毕业答辩。开发游戏能发布到国内外公共ANDROID应用平台上,例如移动的MM市场和谷歌的电子市场。为本应用申请软件著作权。5研究工作进度计划2010年第7学期第69周查阅文献和外文翻译第1012周撰写文献综述第1215周撰写开题报告,完成开题报告答辩第1519周程序设计与开发2011年第8学期第17周程序设计与开发第910周撰写毕业论文第11周修改论文第12周论文答辩毕业设计(论文)文献综述(包括国内外现状、研究方向、进展情况、存在问题、参考依据等)ANDROID手机系统及应用研究现状1国内外研究现状目前随着移动设备越来越普及以及移动设备的硬件的提升,移动设备的功能越来越完善,移动设备的系统平台也日渐火热起来。目前国内最常见的移动开发平台有SYMBIAN,IPHONE,WINDOWSPHONE以及当下正在逐步兴起的ANDROID。目前为止国内已经有很多ANDROID系统的用户。截止2010年第二季度ANDROID系统的国内市场占有率已经过10,在西欧以及北美智能手机市场占有率也在20左右。可见ANDROID系统正在崛起之中。但是对于ANDROID系统的应用和开发在国内属于起步和探索阶段。现阶段虽然已经有较多人关注,但任然急需要大量的相关技术和人员的投入。11国内外手机系统现状目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现主流手机操作系统。现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的SYMBIAN操作系统。SYMBIAN是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的SYMBIAN系统有以下四个版本,分别为S40、S60第二版)、S60(第三版)、S60(第五版)。S60(第五版)为触摸屏手机版本。ANDROID系统是GOOGLE于2007年11月5日宣布的推出的基于LINUX平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它采用软件堆层(SOFTWARESTACK,又名软件叠层)的架构,主要分为三部分。底层以LINUX内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库LIBRARY和虚拟机VIRTUALMACHINE,由C开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以JAVA作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍。GOOGLE通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。IOS是由苹果公司为IPHONE开发的操作系统。它主要是给IPHONE、IPODTOUCH以及IPAD使用。就像其基于的MACOSX操作系统一样,它也是以DARWIN为基础的。IOS的系统架构分为四个层次核心操作系统层(THECOREOSLAYER),核心服务层(THECORESERVICESLAYER),媒体层(THEMEDIALAYER),可轻触层(THECOCOATOUCHLAYER)。系统操作占用大概240MB的存储器空间WINDOWSMOBILE系列操作系统是从微软计算机的WINDOWS操作系统演化而来的。WINDOWSMOBILE系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置如内存、储存卡容量等上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。PALMOS属于PALM公司开发,是一种32位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用PAML公司生产的手机上。该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。PALM系统与其他手机系统相比在其它方面也还存在一些不足,如PALM操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。在2009年8月,由中国移动所主导开发OPHONE平台面世。OPHONE平台采用开源的LINUX作为系统内核,借鉴并兼容ANDROID平台,集成灵活高效的JAVA应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。12国内外手机应用现状随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE这种传输速度仅能达到384KB/秒的275G过渡技术而欣喜的时候,国外早已开始试行HSDPA这种35G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。目前国内外手机应用服务方向主要有基于地理位置的信息服务(LOCATIONBASEDSERVICELBS)它是通过电信移动运营商的无线电通讯网络如GSM网、CDMA网或外部定位方式如GPS获取移动终端用户的位置信息地理坐标,或大地坐标,在GISGEOGRAPHICINFORMATIONSYSTEM,地理信息系统平台的支持下,为用户提供相应服务的一种增值业务。例如手机定位,导航服务。近年来十分热门的网络社交服务(SOCIALNETWORKINGSERVICES)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对IPHONE,ANDROID,塞班等手机平台推出了手机客户端。国外最大的社交FACKBOOK也已经传出正在进行针对手机的产品的研发。TWITER,MYSPACE等国外知名社交类网站都已经推出手机版。国内淘宝网旗下口碑网在今年也已经推出针对多个手机平台的客户端程序。MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在ANDROID平台上的QUICKOFFICE就是这样的软件。在GOOGLEMARKET(一个谷歌针对ANDROID系统用户所开发的应用商场)上已经有过万的企业应用办公套件。手机娱乐游戏类应用,该类应用作为传统类手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。各类传统PC游戏厂商进入手机领域。2研究方向21ANDROID系统架构研究ANDROID平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。ANDROID是一组面向移动设备的软件包(目前不仅限于移动手机领域,ANDROID也已经进入其他嵌入式领域,如汽车中控台,MP3/MP4等),包含了一个操作系统,中间件和关键应用程序。ANDROIDSDK的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用JAVA编程语言在ANDROID平台上开发应用程序了。ANDROID系统架构基本分为应用(APPLICATIONS),应用框架(APPLICATIONFRAMEWORKS),库函数(LIBRARIES),运行时环境(ANDROIDRUNTIME),LINUX内核(LINUXKERNEL)。下方图表显示了ANDROID操作系统的主要组件。应用APPLICATIONS通讯录拨号软件浏览器播放器其他应用应用框架APPLICATIONFRAMEWORKS活动管理器窗口管理器资源管理器通告管理器内容提供器位置管理器传感器管理器界面系统XMPP服务其他相关服务与管理库LIBRARIES界面理器流媒体处理框架SQLLITEOPENGL/ESSGLWEBKITSSL其他库ANDROID运行时DALVIK虚拟机核心库LINUXKERNELLINUX内核硬件驱动电源管理内核图11ANDROID系统架构图1应用程序ANDROID会同一系列核心应用程序包一起发布,该应用程序包包括EMAIL客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。2应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块不过得遵循框架的安全性限制。同样,该应用程序重用机制也使用户可以方便的替换程序组件。3系统运行库ANDROID包含一些C/C库,这些库能被ANDROID系统中不同的组件使用。它们通过ANDROID应用程序框架为开发者提供服务。ANDROID包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。4ANDROID运行时每一个ANDROID应用程序都在它自己的进程中运行,都拥有一个独立的DALVIK虚拟机实例。DALVIK被设计成一个设备可以同时高效地运行多个虚拟系统。DALVIK虚拟机执行DEX的DALVIK可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“DX”工具转化成“DEX”格式由虚拟机执行。DALVIK虚拟机依赖于LINUX内核的一些功能,比如线程机制和底层内存管理机制。5LINUX内核ANDROID的核心系统服务依赖于LINUX26内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。LINUX内核也同时作为硬件和软件栈之间的抽象层。22ANDROID应用开发研究ANDROID系统开发采用JAVA语言,使用由GOOGLEANDROIDSDK和ECLIPSEIED进行应用程序的开发。在ANDROID开发中ECLIPSEIDE和用于ECLIPSE的ANDROIDDEVELOPERTOOLS插件是至关重要的开发工具。ANDROID应用程序是用JAVA语言编写的,但是是在DALVIKVM(非JAVA虚拟机)中编译和执行的。在ECLIPSE中用JAVA语言编程非常简单;ECLIPSE提供一个丰富的JAVA环境,包括上下文敏感帮助和代码提示。JAVA代码通过编译后,ANDROIDDEVELOPERTOOLS可确保适当地将它打包,包括ANDROIDMANIFESTXML文件。在ANDROIDSDK附带ANDROIDEMULATOR,是一个运行在PC端的手机模拟器,开发者可以使用这个模拟器来运行自己编写的应用程序。3进展情况如今ANDROID系统已经不单在手机上,它也开始进入其他嵌入式领域。2009年11月份由我国某企业研发的首款基于ANDROID的系统的车载系统面世,现在已经安装在汽车上。现在我们也可以买到很多基于ANDROID系统的MP3,MP4产品。近日TCL也推出国内首款ANDROID系统的电视。相信在不久的未来我们也将看到更多领域有ANDROID系统的身影。错误未找到引用源。单击此处添加论文正文4存在问题由于ANDROID系统的开源性,ANDROID平台已经难以阻挡的走上了版本界面分化的道路,尤其是2009年到2010年,在一年多的时间里。首先从ANDROID平台本身的进化来看,短短的一年多时间,已经经历了6次重要的版本更新,这样频繁的更新版本,无论是用户、OEM商、开发者或者终端销售者,都必须付出更多的成本,相比之下,苹果IPHONEOS就显得要稳定许多。对于开发ANDROID而言版本的分裂是一个难以解决的问题,由于低版本不能在高版本中正确的运行,所以在编写正确程序在其他的版本的机器上就不能正确的运行,而且这一个问题也难以解决。正如HTML在不同浏览器中不能被正确解析,ANDROID系统也正面临着相似的困境。现在我们所采取的方法是在编程时,在不影响应用功能的情况下,应把系统版本降低到15左右。以求让更多的用户能完整的使用到应用程序。参考文献(含开题报告和文献综述)1GONGLEI,ZHOUCONGDEVELOPMENTANDRESEARCHOFMOBILETERMINATIONAPPLICATIONBASEDONANDROIDJCOMPUTERANDMODERNIZATION200882SHANECONDERANDROIDWIRELESSAPPLICATIONDEVELOPMENTMADDISONWESLEY20103ENCK,W,ONGTANG,M,MCDANIEL,PUNDERSTANDINGANDROIDSECURITYJSECURITY然而,如果需要启动特定的ACTIVITY,开发者需要者在选择配置MANIFEST信息来实现这一个功能。在在FRIENDTRACKER应用,例如,FRIENDTRACKERCONTROL活动被标记为主用户界面的启动点。在这种情况下,我们保留名称“FRIENDTRACKER”为服务执行的核心组成部分的应用程序逻辑。在FRIENDTRACKER应用包含四种类型的组件。在FRIENDTRACKER服务搜寻调查外部服务并发现好友的位置。在我们的示例代码中,位置是我们随机生成的,但直接通过网络连接组件接口的服务。该FRIENDPROVIDERCONTENT提供保持最新的朋友地理坐标,FRIENDTRACKERCONTROL活动用于启动和用户界面停止跟踪好友功能,该系统一旦启动BOOTRECEIVER通知从广播系统启动。该FRIENDVIEWER应用主要是显示有关好友的位置的信息。每个启动的FRIENDVIEWER将会列出了所有的朋友和他们的地理坐标,FRIENDMAP显示他们在地图上的位置。FRIENDRECEIVER将会等待接收附近的手机发送的消息这个消息来一个所指定的朋友。尽管我们可以在这些组件内放置在FRIENDTRACKER应用,但是我们仍然创建了一个单独的应用程序来展示跨应用的沟通。此外,通过分离程序功能和接口,我们可以创建不同的显示和功能,可选用户界面是,许多应用程序可以重用这些来自FRIENDTRACKER的功能。COMPONENTINTERACTION该组件交互的主要机制是一个INTENT,这是一个简单的消息对象,其中包含一个目的地组件的地址和数据。ANDROID的API定义了他的方法中传入INTENT,并使用该信息来启动一个ACTIVITY例如开始一个ACTIVITYSTARTACTIVITYINTENT,启动服务(STARTSERVICE(INTENT)和广播信息(SENDBROADCAST(INTENT)。ANDROID框架来通知这些方法的调用开始执行在目标应用程序代码。这个过程中内部组件通信称为一个动作。简单地说,INTENT对象定义的“INTENT”以执行“ACTION”。ANDROID的一个最强大的特点是允许的多种INTENT寻址机制。开发人员可以解决一个目标组件使用其应用的空间,他们也可以指定一个隐含的名称。在后一种情况下,系统决定了一个ACTION的最佳组件,通过考虑安装的应用程序和用户的选择。这个隐含的名字被称为动作字符串因为他特殊的类型的请求动作。例如一个VIEW动作字符串,在一个INTENT中和数据域指向一个图像文件,系统将会直接指首选图像浏览器、开发者也能使用动作字符串进行大量广播发送和接收。在接收端的接收者,开发者使用一INTENT过滤器来定制特殊的动作字符串。ANDROID系包括附加目标的决议规则,但可选的数据操作字符串类型是最常见的。图2显示了组件之间的FRIENDTRACKER和FRIENDVIEWER应用程序和组件的交互作用在应用程序中定义为基础的ANDROID发布的一部分。在每一种情况下,发起一个组件与其他的沟通。为了简单起见,我们称这个为件间通信(ICC)。在许多方面,ICC是类似于进程间通信(IPC)在基于UNIX的系统中。对于开发人员,ICC的功能相同无论目标是在相同或不同的应用与界定将在下文的安全规则中说明。可用的ICC的动作取决于目标的组成部分。每个组件类型支持自己的类型例如,当FRIENDVIEWER开始FRIENDMAP的FRIENDMAP活动出现在屏幕上。服务组件支持启动,停止,并结合行动,所以FRIENDTRACKERCONTROL活动,例如,可以启动和停止FRIENDTRACKER服务在后台运行。ACTION的绑定组件之间建立连接,使启动执行的服务定义的RPC。在我们的例子,FRIENDTRACKER结合到系统中的服务器位置的管理。UNDERSTANDANDROIDSECURITY错误未找到引用源。单击此处添加外文原稿题目THENEXTGENERATIONOFOPENOPERATINGSYSTEMSWONTBEONDESKTOPSORMAINFRAMESBUTONTHESMALLMOBILEDEVICESWECARRYEVERYDAYTHEOPENNESSOFTHESENEWENVIRONMENTSWILLLEADTONEWAPPLICATIONSANDMARKETSANDWILLENABLEGREATERINTEGRATIONWITHEXISTINGONLINESERVICESHOWEVER,ASTHEIMPORTANCEOFTHEDATAANDSERVICESOURCELLPHONESSUPPORTINCREASES,SOTOODOTHEOPPORTUNITIESFORVULNERABILITYITSESSENTIALTHATTHISNEXTGENERATIONOFPLATFORMSPROVIDEACOMPREHENSIVEANDUSABLESECURITYINFRASTRUCTUREDEVELOPEDBYTHEOPENHANDSETALLIANCEVISIBLYLEDBYGOOGLE,ANDROIDISAWIDELYANTICIPATEDOPENSOURCEOPERATINGSYSTEMFORMOBILEDEVICESTHATPROVIDESABASEOPERATINGSYSTEM,ANAPPLICATIONMIDDLEWARELAYER,AJAVASOFTWAREDEVELOPMENTKITSDK,ANDACOLLECTIONOFSYSTEMAPPLICATIONSALTHOUGHTHEANDROIDSDKHASBEENAVAILABLESINCELATE2007,THEFRSTPUBLICLYAVAILABLEANDROIDREADY“G1”PHONEDEBUTEDINLATEOCTOBER2008SINCETHEN,ANDROIDSGROWTHHASBEENPHENOMENALTMOBILESG1MANUFACTURERHTCESTIMATESSHIPMENTVOLUMESOFMORETHAN1MILLIONPHONESBYTHEENDOF2008,ANDINDUSTRYINSIDERSEXPECTPUBLICADOPTIONTOINCREASESTEEPLYIN2009MANYOTHERCELLPHONEPROVIDERSHAVEEITHERPROMISEDORPLANTOSUPPORTITINTHENEARFUTUREALARGECOMMUNITYOFDEVELOPERSHASORGANIZEDAROUNDANDROID,ANDMANYNEWPRODUCTSANDAPPLICATIONSARENOWAVAILABLEFORITONEOFANDROIDSCHIEFSELLINGPOINTSISTHATITLETSDEVELOPERSSEAMLESSLYEXTENDONLINESERVICESTOPHONESTHEMOSTVISIBLEEXAMPLEOFTHISFEATUREISUNSURPRISINGLYTHETIGHTINTEGRATIONOFGOOGLESGMAIL,CALENDAR,ANDCONTACTSWEBAPPLICATIONSWITHSYSTEMUTILITIESANDROIDUSERSSIMPLYSUPPLYAUSERNAMEANDPASSWORD,ANDTHEIRPHONESAUTOMATICALLYSYNCHRONIZEWITHGOOGLESERVICESOTHERVENDORSARERAPIDLYADAPTINGTHEIREXISTINGINSTANTMESSAGING,SOCIALNETWORKS,ANDGAMINGSERVICESTOANDROID,ANDMANYENTERPRISESARELOOKINGFORWAYSTOINTEGRATETHEIROWNINTERNALOPERATIONSSUCHASINVENTORYMANAGEMENT,PURCHASING,RECEIVING,ANDSOFORTHINTOITASWELLTRADITIONALDESKTOPANDSERVEROPERATINGSYSTEMSHAVESTRUGGLEDTOSECURELYINTEGRATESUCHPERSONALANDBUSINESSAPPLICATIONSANDSERVICESONASINGLEPLATFORMALTHOUGHDOINGSOONAMOBILEPLATFORMSUCHASANDROIDREMAINSNONTRIVIAL,MANYRESEARCHERSHOPEITPROVIDESACLEANSLATEDEVOIDOFTHECOMPLICATIONSTHATLEGACYSOFTWARECANCAUSEANDROIDDOESNTOFCIALLYSUPPORTAPPLICATIONSELOPEDFOROTHERPLATFORMSAPPLICATIONSEXECUTEONTOPOFAJAVAMIDDLEWARELAYERRUNNINGONANEMBEDDEDLINUXKERNEL,SODEVELOPERSWISHINGTOPORTTHEIRAPPLICATIONTOANDROIDMUSTUSEITSCUSTOMUSERINTERFACEENVIRONMENTADDITIONALLY,ANDROIDRESTRICTSAPPLICATIONINTERACTIONTOITSSPECIALAPISBYRUNNINGEACHAPPLICATIONASITSOWNUSERIDENTITYALTHOUGHTHISCONTROLLEDINTERACTIONHASSEVERALBENEFCIALSECURITYFEATURES,OUREXPERIENCESDEVELOPINGANDROIDAPPLICATIONSHAVEREVEALEDTHATDESIGNINGSECUREFORWARDANDROIDUSESASIMPLEPERMISSIONLABELASSIGNMENTMODELTORESTRICTACCESSTORESOURCESANDOTHERAPPLICATIONS,BUTFORREASONSOFNECESSITYANDCONVENIENCE,ITSDESIGNERSHAVEADDEDSEVERALPOTENTIALLYCONFUSINGREFNEMENTSASTHESYSTEMHASEVOLVEDTHISARTICLEATTEMPTSTOUNMASKTHECOMPLEXITYOFANDROIDSECURITYANDNOTESOMEPOSSIBLEDEVELOPMENTPITFALLSTHATOCCURWHENDEFNINGANAPPLICATIONSSECURITYWECONCLUDEBYATTEMPTINGTODRAWSOMELESSONSANDIDENTIFYOPPORTUNITIESFORFUTUREENHANCEMENTSTHATSHOULDAIDINCLARITYANDCORRECTNESSANDROIDAPPLICATIONSTHEANDROIDAPPLICATIONFRAMEWORKFORCESASTRUCTUREONDEVELOPERSITDOESNTHAVEAMAINFUNCTIONORSINGLEENTRYPOINTFOREXECUTIONINSTEAD,DEVELOPERSMUSTDESIGNAPPLICATIONSINTERMSOFCOMPONENTSEXAMPLEAPPLICATIONWEDEVELOPEDAPAIROFAPPLICATIONSTOHELPDESCRIBEHOWANDROIDAPPLICATIONSOPERATEINTERESTEDREADERSCANDOWNLOADTHESOURCECODEFROMOURWEBSITEPTTP/SIISCSEPSUEDU/ANDROID_SEC_TUTORIALHTMLLETSCONSIDERALOCATIONSENSITIVESOCIALNETWORKINGAPPLICATIONFORMOBILEPHONESINWHICHUSERSCANDISCOVERTHEIRFRIENDSLOCATIONSWESPLITTHEFUNCTIONALITYINTOTWOAPPLICATIONSONEFORTRACKINGFRIENDSANDONEFORVIEWINGTHEMASFIGURE1SHOWS,THEFRIENDTRACKERAPPLICATIONCONSISTSOFCOMPONENTSSPECIFCTOTRACKINGFRIENDLOCATIONSFOREXAMPLE,VIAAWEBSERVICE,STORINGGEOGRAPHICCOORDINATES,ANDSHARINGTHOSECOORDINATESWITHOTHERAPPLICATIONSTHEUSERTHENUSESTHEFRIENDVIEWERAPPLICATIONTORETRIEVETHESTOREDGEOGRAPHICCOORDINATESANDVIEWFRIENDSONAMAPBOTHAPPLICATIONSCONTAINMULTIPLECOMPONENTSFORPERFORMINGTHEIRRESPECTIVETASKSTHECOMPONENTSTHEMSELVESARECLASSIFEDBYTHEIRCOMPONENTTYPESANANDROIDDEVELOPERCHOOSESFROMPREDEFNEDCOMPONENTTYPESDEPENDINGONTHECOMPONENTSPURPOSESUCHASINTERFACINGWITHAUSERORSTORINGDATACOMPONENTTYPESANDROIDDEFNESFOURCOMPONENTTYPESACTIVITYCOMPONENTSDEFNEANAPPLICATIONSUSERINTERFACETYPICALLY,ANAPPLICATIONDEVELOPERDEFNESONEACTIVITYPER“SCREEN”ACTIVITIESSTARTEACHOTHER,POSSIBLYPASSINGANDRETURNINGVALUESONLYONEACTIVITYONTHESYSTEMHASKEYBOARDANDOCESSINGFOCUSATATIMEALLOTHERSARESUSPENDEDSERVICECOMPONENTSPERFORMBACKGROUNDPROCESSINGWHENANACTIVITYNEEDSTOPERFORMSOMEOPERATIONTHATMUSTCONTINUEAFTERTHEUSERINTERFACEDISAPPEARSSUCHASDOWNLOADAFLEORPLAYMUSIC,ITCOMMONLYSTARTSASERVICESPECIFCALLYDESIGNEDFORTHATACTIONTHEDEVELOPERCANALSOUSESERVICESASAPPLICATIONSPECIFCDAEMONS,POSSIBLYSTARTINGONBOOTSERVICESOFTENDEFINEANINTERFACEFORREMOTEPROCEDURECALLRPCTHATOTHERSYSTEMCOMPONENTSCANUSETOSENDCOMMANDSANDRETRIEVEDATA,ASWELLASREGISTERCALLBACKSCONTENTPROVIDERCOMPONENTSSTOREANDSHAREDATAUSINGARELATIONALDATABASEINTERFACEEACHCONTENTPROVIDERHASANASSOCIATED“AUTHORITY”DESCRIBINGTHECONTENTITCONTAINSOTHERCOMPONENTSUSETHEAUTHORITYNAMEASAHANDLETOPERFORMSQLQUERIESSUCHASSELECT,INSERT,ORDELETETOREADANDWRITECONTENTALTHOUGHCONTENTPROVIDERSTYPICALLYSTOREVALUESINDATABASERECORDS,DATARETRIEVALISIMPLEMENTATIONSPECIFCFOREXAMPLE,FLESAREALSOSHAREDTHROUGHCONTENTPROVIDERINTERFACESBROADCASTRECEIVERCOMPONENTSACTASMAILBOXESFORMESSAGESFROMOTHERAPPLICATIONSCOMMONLY,APPLICATIONCODEBROADCASTSMESSAGESTOANIMPLICITDESTINATIONBROADCASTRECEIVERSTHUSSUBSCRIBETOSUCHDESTINATIONSTORECEIVETHEMESSAGESSENTTOITAPPLICATIONCODECANALSOADDRESSABROADCASTRECEIVEREXPLICITLYBYINCLUDINGTHENAMESPACEASSIGNEDTOITSCONTAININGAPPLICATIONFIGURE1SHOWSTHEFRIENDTRACKERANDFRIENDVIEWERAPPLICATIONSCONTAININGTHEDIFERENTCOMPONENTTYPESTHEDEVELOPERSPECIFESCOMPONENTSUSINGAMANIFESTFLEALSOUSEDTODEFNEPOLICYASDESCRIBEDLATERTHEREARENORESTRICTIONSONTHENUMBEROFCOMPONENTSANAPPLICATIONDEFNESFOREACHTYPE,BUTASACONVENTION,ONECOMPONENTHASTHESAMENAMEASTHEAPPLICATIONFREQUENTLY,THISISANACTIVITY,ASINTHEFRIENDVIEWERAPPLICATIONTHISACTIVITYUSUALLYINDICATESTHEPRIMARYACTIVITYTHATTHESYSTEMAPPLICATIONLAUNCHERUSESTOSTARTTHEUSERINTERFACEHOWEVER,THESPECIFCACTIVITYCHOSENONLAUNCHISMARKEDBYMETAINFORMATIONINTHEMANIFESTINTHEFRIENDTRACKERAPPLICATION,FOREXAMPLE,THEFRIENDTRACKERCONTROLACTIVITYISMARKEDASTHEMAINUSERINTERFACEENT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论