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