- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于Android混合开发模式的软件架构设计
摘要摘要:Hybrid混合?_发模式利用Android/IOS Native UIWebView作为底层,采用本地编码与远程服务器进行通信,采用HTML、CSS、JavaScript等富客户端技术对显示层进行处理。该模式具有较为优秀的跨平台性、快速的软件更新、媲美Native代码的运行效率,在降低开发成本的同时保证了较好的用户体验,兼具Native APP和Web APP的优点。设计基于Android混合开发模式的软件架构,同时利用Android线程间通信技术以及工厂设计模式对架构进行优化改进,提高移动应用程序的开发效率。
关键词关键词:Android;WebView;Hybrid混合开发;设计模式;软件架构设计
DOIDOI:10.11907/rjdk.162691
中图分类号:TP319文献标识码:A文章编号文章编号2017)001009304
引言
随着移动互联的兴起及移动设备计算能力的提升,各种移动应用程序层出不穷,快速的业务扩展要求必须提升开发效率。Android和IOS 原生开发的成本和效率很难取得实质性突破,且Native APP可移植性较差,不同平台需各自维护UI以保证用户体验的一致性。Web APP虽拥有超强的跨平台性,但受网络限制无法调用系统级API等问题一直没有较好的解决方案。因此,Hybrid混合APP应运而生[1]。
不同于Native APP针对特定平台的开发,Hybrid APP 表面上是一个Native APP,实际上显示的是存储在本地的Web App。Hybrid APP底层依赖于Native提供2.4ICE客户端开发
在实现服务器程序框架的基础上,即可实现多种功能的服务器程序。而客户端不需要考虑服务器端程序的编程语言及运行平台,只需通过调用Servant,即可与服务器进行数据通信,并使用服务器上提供的服务。
ICE客户端在建立连接时是通过继承 Ice::Application 类并重载 virtual int run(int, char*[])方法完成的,然后通过间接代理来调用服务器端相关操作。客户端代码流程为:使用Servant名称和适配器地址建立代理,代理转换为继承类的Servant的过程,操作完毕,释放相关资源。3结语
ICE中间件技术简单、高效,因此自诞生以来发展迅速。相对于国外已经出现较多关于ICE的学术探讨和应用研究,国内对ICE的研究及其在各个领域的应用都还处于起步阶段。本文采用ICE中间件技术设计应用系统通信框架,探讨体系结构并搭建框架,为基于ICE中间件的网络应用系统开发提供参考。利用此架构单独开发应用系统的通信框架,以后ICE版本的升级或通信代码的改变对整个应用系统的影响都比较小。服务器和客户端无需考虑通信带来的复杂性,可以专注于具体业务的实现。
Hybrid开发模式作为一种跨语言开发模式,开发应围绕通讯层展开。在Android平台中,WebView组件为Android提供了无需依赖浏览器即可加载Web页面的功能[3],并提供JS、Java相互通讯的接口。WebView使用addJavaScriptInterfaceAPI在HTML中注入本地Java对象,使得JS脚本可调用本地Java对象,Java使用loadUrlAPI加载本地页面资源或执行JS脚本[4]。
系统启动时,在主线程(UI线程)的onCreate中初始化WebView组件;通过loadUrlAPI加载本地HTML资源绘制界面,并使用addJavaScriptIntfaceAPI为当前HTML的JS脚本注入本地Java对象;WebView在解析JS脚本时会过滤该关键字作为对象进行处理;当脚本执行到注入的Java对象时,WebView会自动调用该Java对象相应的方法。逻辑处理完成后,使用 loadUrlAPI加载HTML资源或执行JS脚本。
但难以直接使用Hybrid技术开发。JS与Java之间的交互零散分布在整个系统中,资源分散不成体系;功能界限模糊,可扩展性差;系统耦合度高,开发效率低[5]。对此,可以设计一套基于Android的混合开发模式的软件架构。
2基于Hybrid开发模式的软件架构设计
2.1WebView扩展
为简化调用,提高方法灵活性,对WebView进行扩展。定义SWebView继承WebView,定义loadAssets()方法包装LoadUrl()以加载本地HTML资源,参数为html文件名。定义execJS()方法包装LoadUrl()以执行JS脚本,参数为JS函数名和JS参数。定义addJSInterface()方法包
您可能关注的文档
最近下载
- Q/GDW 13239.1—2018 35kV电力电缆采购标准(第1部分:通用技术规范).pdf VIP
- 水电解质酸碱代谢失衡病人的护理失衡.ppt VIP
- Q∕GDW 13247.2-2018 35kV电力电缆附件采购标准 第二部分:专用技术规范(高清-可复制).pdf VIP
- 2024届高考英语一轮总复习选择性必修第二册Unit3FoodandCulture教师用书.doc VIP
- 医学检验生物安全培训课件.pptx VIP
- 高三化学教学反思15篇.pdf VIP
- 河南成人2024学位英语考试真题及答案.docx VIP
- 中药新药临床研究.pptx VIP
- 2024届高考英语一轮总复习选择性必修第二册Unit1ScienceandScientists教师用书.doc VIP
- 农田喷灌工程施工方案(3篇).docx VIP
文档评论(0)