基于Android平台的Phonegap研究-软件工程动漫方向毕业论文.docx
《基于Android平台的Phonegap研究-软件工程动漫方向毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Android平台的Phonegap研究-软件工程动漫方向毕业论文.docx(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、滨江学院毕业论文(设计)题目基于Android平台的Phonegap研究 院系计算机系专业软件工程(动漫)学生姓名尤新媛学号20112359050指导教师耿焕同职称教授二一五年五月十三日声 明本人郑重声明:1、 持以“求实、创新”的科学精神从事研究工作。2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成果。3、 本论文中除引文外,所有实验、数据和有关材料均是真实的。4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。作者签名:日期: 目 录1.绪论21.1课题研究背景21.2 国内外
2、研究现状21.3 研究内容22. PhoneGap开源平台研究22.1 PhoneGap总体分析22.1.1 PhoneGap的设计模式22.1.2 PhoneGap的类关系22.2 PhoneGap启动调用过程分析22.3 PhoneGap的Javascript调用API过程分析22.4 PhoneGap的Javascript接口分析(PhoneGap.js)23. 基于PhoneGap的rss阅读器系统系统分析23.1 所用技术需求分析23.1.2 HTML5技术23.1.3 JavaScript介绍23.1.4 CSS技术介绍23.2 系统功能分析23.2.1 首页展示模块功能分析23.
3、2.2 设置模块功能分析23.2.3 新闻阅读模块功能分析24.系统设计与实现24.1 开发平台搭建24.2 首页模块设计与实现24.3 设置模块设计与实现24.4 新闻阅读模块设计与实现25.系统展示25.1 首页展示25.2 管理界面展示25.3 新闻阅读展示2参考文献26.总结与展望26.1 总结26.2 展望2基于Android平台的PhoneGap研究尤新媛南京信息工程大学滨江学院计算机系,南京 210044摘要:针对现有移动应用开发平台开发的应用可移植性差等问题,本文提出了利用跨平台开发工具PhoneGap,开发实现一款基于Android平台的PhoneGap应用。本论文的研究是基
4、于Android平台上的PhoneGap的功能特性,基本技术原理以及它的缺点。再研究了这些特征后在此基础上设计出一个阅读器,实现能在手机上订阅网易以及搜狐等门户网站的RSS新闻,达到移动客户端个性化订阅项管理的目的,使用者可以根据自己的兴趣爱好来选择想订阅的新闻及退订它们,极大程度上满足使用者的个性化阅读需求。关键词:Android;PhoneGap;应用Study of Phonegap based on Android platformYouxinyuanDepartmnet of Computer,Binjiang College,NUIST,Nanjing 210044,ChinaAb
5、stract:For the application of existing mobile application development platform for the development of poor portability, using a cross platform development tool phonegap, to develop and implement a phonegap application based on the Android platform is put forward in this paper. The research of this t
6、hesis is the functional properties of Android platform based on PhoneGap technology, the basic principle and its disadvantages. Researches on the design of these characteristics on the basis of a reader, to achieve on the phone subscription Netease and Sohu RSS news, to mobile clients personalized s
7、ubscription management, the user can according to their own interests and hobbies to choose to subscribe to the news and unsubscribe from them, to a great extent to meet users personalized reading needs.Key words:Android; PhoneGap; application1绪论1.1课题研究背景由于移动设备的普及,很多的商家看到了移动终端设备的发展前景。特别是3G、4G 的发展,移动
8、设备硬件的升级,对于智能终端的消费有了质的提升,并且有与普通 PC“一比高下”的趋势。由于移动设备的多样化和保留竞争的主动权,多家商家通过各种方式向大众推广自己的智能终端平台,当前的移动智能终端平台出现繁荣的现象。其中Nokia 的 Symbian、Apple 的 iOS、Google 的 Android、RIM 的 BlackBerry、微软的 WindowsPhone 等占了大部门智能平台的市场份额。但是它们的所占的比例每年都在变化中,由于 UI 设计美观性和系统的可操作性,iOS 和 Android 正在蚕食其它智能平台。然而,由于市面上的移动平台大多数之间是不能兼容的,所以想要实现跨平
9、台的软件开发操作就需要寻找一套标准的接口。例如,Symbian 使用 C/C+、iOS 使用 Object C、Android 使用 Java、BlackBerry 使用 Java(与 Android 的接口不一样)、Windows Phone 使用 C#,它们近乎是没有办法两者融合的,如果都采用 Java 接口的 BlackBerry 和Android,它们的 API 接口也不相同,要是想开创出一套新型的应用,必须在每个平台调用各自的原生 API。智能设备的普及,移动平台的App也得到大力推广。据今年年初的报告, Android 应用商店的软件数量达到 45 万款,可是还是落后于苹果应用商店
10、的 50 万款。全世界每天都会激活近85万部安卓设备,使得Android 应用每月的下载量突破 10 亿,我们可以设想一下这会是一个多么庞大的数字,全球 Android 设备总数居然就高达 3 亿。而 iOS 设备已经超过 3.3 亿部。这么庞大的市场,称为众多移动厂家逐利的方向,铺天盖地的移动应用采用工厂式的复制,从一个平台复制到其它平台。而且如果推广的时间晚了,竞争对手势必会复制并推广到其它平台上。由于平台如此之多,如果没有跨平台的应用开发工具,那工程量得多大呢?很多中间件厂商为此不断努力,突发奇想出了跨平台概念,例如 REXSEE 公司首先使用 HTML5 + JavaScript +C
11、SS3 ,制造出的移动中间件产品 EMS 正在尝试着进入市场。但是中间件的形式对于访问本地文件有很大的局限性。以上都是当前面对的问题,为了解决这些问题,做出这篇论文研究PhoneGap这一当前跨平台开发工具的发展状况。并开发实现一款基于Android平台的PhoneGap应用。1.2 国内外研究现状PhoneGap 是在 2009 年由加拿大的 Nitobi 公司首先开发,而它的 1.0 版本是在 2011年发布,因此对于 PhoneGap 的研究,国内外研究较少。因此国内外对于 PhoneGap 的研究状况主要是从官方主页和一些网站中获取。从概念上说,PhoneGap 是一个快速开发平台,它
12、基于HTML,CSS,JavaScript,为移动应用程序的创建提供开发平台。开发人员可以使用该框架,在此基础上采用传统的 Web 开发技术(HTML+CSS+JavaScript),完成一系列UI和正在开发的应用的程序逻辑。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能,这些功能非常广泛大至定位功能,小至手机通讯录,闹铃,音乐等,除此之外PhoneGap还拥有许多的插件,根据开发者的个人需要可以进行调用。目前,PhoneGap 为许多的移动平台提供了技术上的支持,不过如图 1-1 所示,但是由于当前技
13、术有限和竞争的影响,PhoneGap 并不能够覆盖移动平台上所有的功能点,在这一方面有待于开发者的不断改进和完善。图1.1 PhoneGap 框架对当前主流移动平台的支持细节目前 PhoneGap 在应用体验方面还有诸多不足。下面列出它的几点不足:A. 在它的性能上,进行正常操作时反应速度平稳,但进行复杂而反复的操作时,它的响应会变慢。B. 在它性能的稳定性,资源的占用方面,如果开发者频繁的进行手动操作会导致phonegap响应速度变慢,内部不能处理好释放内存的问题,内存容量不断增大,甚至会引起应用的 Crash。C. 对于多媒体应用接口不足,对于本地和网络多媒体播放还没有形成一个雏形。1.3
14、 研究内容本项目的是研究基于Android平台上的PhoneGap的功能特性,基本技术原理以及它的缺点,并在此基础上设计和实现手机订阅网易以及搜狐等门户网站的RSS新闻,达成移动客户端多样化订阅项管理,使用者们各有喜好,他们完全根据自己的兴趣爱好自由的订阅新闻及退订,这样的一个新闻阅读器能够满足使用者的个性化阅读需求。2. PhoneGap开源平台研究对于 Nitobi 公司开发的 PhoneGap 移动跨平台开发工具框架,并不是唯一的一种跨平台框架。由于 PhoneGap 采用标准的 HTML、Javascript 和 CSS,以及它是开源的,可以实现跨平台的操作,因此本论文才以 Phone
15、Gap 为基础开发多媒体扩展框架,研究并制作出跨移动平台的媒体扩展的 Javascript 接口。由于 PhoneGap 是最近流行的开源跨平台开工具,对于PhoneGap 分析的论文并不多,因此本论文在第二章中深入剖析 PhoneGap 的运作原理及其调用过程。2.1 PhoneGap总体分析PhoneGap是使用了许多不同的开发技术例如,html5,CSS,JavaScript制造的Web来实现跨平台的,它是 Javascript 调用本地 API 的一个桥梁,它负责把外部的 Javascript 调用转化为内部系统 NativeAPI 的调用。因此决定 PhoneGap 的关键功能包括两
16、个方便:对外 Javascript 处理和根据 Javascript 请求对内的本地 API 的调用。2.1.1 PhoneGap的设计模式在实际的设计过程中,PhoneGap 采用工厂模式,通过使用本地资源 API 的类统一延展到抽象类 Plugin,而抽象类实现 IPlugin 接口。Plugin 抽象类主要是要让派生类实现 execute函数,完成设计的功能。例如 Capture 继承 Plugin 类,并实现它的 execute 函数,完成调用本地 Capture 的功能。而其他的功能类同样是使用此种方式完成的。PhoneGap 采用PluginManager 管理继承自 Plugin
17、 的所有类,根据 DroidGap 的 WebChromeClient 传递过来的 Javascript 请求参数,确定指定的调用 NativeAPI 类。PluginManager 采用 Plugin.xml文件注册不同的 Native API 类,当 Javascript 调用本地 API 时,PluginManager 从Plugin.xml 列表中寻找相对应的本地调用。2.1.2 PhoneGap的类关系对于外部如何调用 Native API , PhoneGap 在 Android 平台使用抽象类PhoneGapActivity,该类继承自 Android 的 Activity 类,
18、Activity 是 Android 平台 UI 与用户交互的类,用户的触摸动作等都被它捕获并处理。而PhoneGapActivity继承自Activity,主要是定义 PhoneGap 对外部 Javascript 触摸动作的响应,从而把调用导向PluginManager,让 PluginManager 去决定调用哪个本地的 API,至此,完成整个 Javascript调用本地 API 的外部过程。PhoneGap 最后实现了 DroidGap 类,它继承自PhoneGapActivity 抽象类。DroidGap 也是继承自 Android 的 Activity,它负责处理界面与用户的交互
19、功能。它在类中定义 WebView 子控件,WebView 负责加载并渲染 HTML页面,而把 Javascript 的触发动作和事件等,交给 WebChromeClent 和 WebViewClient去实现。在 DroidGap 中定义 GapClient 和 GapViewClient 分别继承 WebChromeClent 和WebViewClient,它们两个类重载 WebView 界面上的 Javascript 动作,例如用户点击Javascript 的 Alert 函数时候,则触发 GapClient 的 onJsAlert 的动作,GapClient 响应该弹出窗口的动作,弹出
20、 Android 本地的 AlertDialog 窗口。而对于 Javascript 关于 NativeAPI请求的时候,则是触发 GapClient 的 onJsPrompt 事件,在 onJsPrompt 事件处理中,把从Javascript 传递过来的调用参数分析后传递到 PluginManager 中,并调用继承 Plugin 的对应的子类。上述的分析主要是从外部 Javascript 和内部处理调用 Native API 出发,详述整个处理过程和涉及的类。这并不是 PhoneGap 的全部,但是它们构成了 PhoneGap 的核心框架。PhoneGap 的框架还包括平台事件、文件操作
21、、网络管理等,它是 PhoneGap 框架不可或缺的功能,也是一个完整平台的一部分。它们的关系如图 2.1 所示。图2.1 PhoneGap 的总体类图2.2 PhoneGap启动调用过程分析PhoneGap 的启动调用过程主要分三个步骤:Javascript 的调用、外部 Activity 的继承和 PhoneGap 内部的响应过程。如图 2.2 所示,PhoneGap 的启动调用过程都是经过装载 Html 和 Javascript 的外部的 Activity,然后通过 WebView 的触发事件导向内部的PhoneGap 的处理服务,最终通过 XHR(XmlHttpRequest)或者 P
22、olling(轮询方式)的PhoneGap 内置响应服务线程,处理调用事件。这三个步骤共同构成 PhoneGap 的启动调用过程。而 PhoneGap 的 CallbackServer 服务是整个启动调用过程的重点。它不断的处理外部请求,通过 FIFO 先进先出的工作模式,处理不同的请求。下面详细分析这三个步骤。步骤一,Javascript 的调用。PhoneGap 框架提供一个相对完整的 PhoneGap 调用本地 API 的 文件,该文件主要包括两个方面:定义 PhoneGap 的对象和利用PhoneGap 对象构造调用 Native API 的功能对象,例如 Media 对象处理 Pho
23、neGap 的 Media类。在 HTML 页面中需要先加载 PhoneGap 的 Javascript 文件,然后再添加document.addEventListener()等待监听事件,如果 PhoneGap 的 Javascript 加载成功,则开始调用 PhoneGap.js 中的 API。步骤二,外部 Activity 的继承。外部使用 PhoneGap 平台框架,则需要先建立一个继承 DroidGap 的 Activity。DroidGap 是 PhoneGap 平台在 Android 之上实现 Javascript与 NativeAPI 桥接的 Activity。它的内部实现 W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 Phonegap 研究 软件工程 动漫 方向 毕业论文
限制150内