基于Android的动态配置WebApp的方法与流程

文档序号:18617870发布日期:2019-09-06 22:12阅读:235来源:国知局
本发明涉及
技术领域
:,尤其是涉及一种可解决混合应用开发过程中重复打包的问题的基于android的动态配置webapp的方法。
背景技术
::根据现阶段的技术,webapp打包主要依赖第三方框架打包和网站打包两种方式。第三方框架中较为主流的是reactnative、ionic、cordova和hbuilder;比较受欢迎的打包网站有apicloud、appcan和云打包。无论是第三方框架还是网站,其打包方式均为一对一,即一个webapp打包一次生成对应的一个应用程序,且webapp有较大内容或插件方面的修改后需要重新打包。这就导致在webapp开发过程中会有相当一部分时间花费在应用程序打包和安装上,从而降低开发效率、增加开发成本。技术实现要素:本发明的发明目的是为了克服现有webapp开发过程中开发效率低、开发成本高的不足,提供了一种可解决混合应用开发过程中重复打包的问题的基于android的动态配置webapp的方法。为了实现上述目的,本发明采用以下技术方案:一种基于android的动态配置webapp的方法,包括如下步骤:(1-1)搭建android的项目,推荐采用androidstudio开发工具;(1-2)添加webview组件和添加组件配置功能;(1-2-1)添加webview组件,实现web页面加载;(1-2-2)添加webview组件配置功能;(1-3)创建配置入口和添加配置方法updateurl;(1-3-1)创建配置入口,为开发人员提供数据输入口;(1-3-2)创建webapp首页地址配置方法updateurl,接收开发人员输入到(1-2-1)中的eidttext的新首页地址;(1-4)创建数据存储方法和数据查询方法,实现数据的存储和数据的查询功能;(1-5)添加原生功能、js接口和权限;(1-6)生成应用。现阶段混合应用的开发模式,应用程序与其加载的webapp是一对一的关系,即开发人员会专门为其开发的每一个webapp生成一个对应的应用程序,以供其开发和测试使用。对于前端开发人员来说在开发过程中为每一个webapp进行打包是一件繁琐而且费时的事情。本发明针对现有webapp的开发模式,提出了一种动态配置webapp的方法,提供了一个在同一应用程序中测试不同webapp的方法,解决了混合应用开发过程中重复打包的问题。运用本发明,开发人员只需要对某个webapp打包一次,其它webapp可通过动态配置即可在手机端进行访问。本发明打破了一个应用程序只能加载一个webapp的壁垒,实现了在应用程序内动态更改webapp的功能,同时实现了应用程序的二次转换,完成了应用程序与webapp由一对一到一对多的转换。本发明是在现有技术上对混合应用在开发和测试过程中反复打包问题中提出了新的解决思路,该方法可应用于纯webapp测试也可应用于使用nativeapi的混合应用测试,其特点是同一应用可动态配置webapp首页地址,实现webapp的在线配置,完成webapp与移动应用间多对一的关系,减少了webapp开发过程中反复打包的问题,提高了开发效率、降低了开发成本。作为优选,(1-2-1)包括如下步骤:在项目中的主窗体类即mainactivity对应的xml文件中添加webview组件,并充满整个页面。在mainactivity中初始化webview组件。作为优选,步骤(1-4)包括如下步骤:数据存储方法:数据库使用sqlite3,存储方法saveurl利用sql语句将传入参数url3插入到表table_url中,表table_url由id和url两个字段组成,id采用自增模式;数据查询方法:采用模糊查询方式查询表table_url中的url字段。作为优选,步骤(1-6)包括如下步骤:使用android开发工具androidstudio生成应用安装包。因此,本发明具有如下有益效果:开发人员只需要对某个webapp打包一次,其它webapp可通过动态配置即可在手机端进行访问。打破了一个应用程序只能加载一个webapp的壁垒,实现了在应用程序内动态更改webapp的功能,同时实现了应用程序的二次转换,完成了应用程序与webapp由一对一到一对多的转换;解决了webapp开发过程中需要反复打包的问题,提高了开发效率、降低了开发成本。附图说明图1为常用混合应用开发结构图;图2为本发明的一种动态配置webapp方法结构图;图3为本发明的一种功能模块间数据传递关系图。具体实施方式下面结合附图和具体实施方式对本发明做进一步的描述。本发明提出了一种基于android的动态配置webapp的方法,能够通过在线配置webapp的首页地址,实现更换webapp内容,从而更换webapp的效果。如图1表示为常用混合应用开发结构图,该结构图包括web层、hybridapijs层和nativeapi层三部分组成。web层用于对webapp页面进行展示,是应用程序的窗口;nativeapi层提供各种原生api,如拍照、定位、读写文件等,为webapp提供原生功能支持;hybridapijs层是web层与nativeapi层的连接纽带,它是由一系列的js接口组成,且其接口与nativeapi层的原生api对应,web层可通过调用hybridapijs层的js接口来访问nativeapi层的原生功能。像cordova、ionic以及一些webapp打包网站其核心结构均为图1所不。图2是本发明提出在图1的基础上增加了动态配置模块,包括加载模块、配置模块和管理模块三部分。该模块是本发明的创新点,通过对该模块的配置实现不同webapp之间的动态转换。在图2基础上生成的应用程序能够根据开发者的需求动态配置想要加载的webapp,从而在开发webapp的过程中无需针对每个webapp进行打包,直接修改webapp的地址即可对webapp进行功能测试,节省了开发和测试时间,提升了开发效率。图3为功能模块间数据传递关系图,其中a模块为加载模块,主要实现webapp的页面加载和加载配置功能;b模块为配置模块,该模块实现了对新webapp数据的接收和存储功能。c模块为管理模块,实现了历史数据的存储和管理。其中数据管理即对已存储的数据提供展示和查询的功能,确保在用户输入关键字时管理模块能够准确的查询到已存储的数据中包含关键字信息的所有数据并及时进行显示。这三个模块是相互关联、紧密联系的,配置模块b需要将接收到的数据交给加载模块a进行加载,管理模块c是对配置模块b接收的新数据和历史数据的存储和管理,并最终呈现给用户。用户从管理模块c选择的数据最终又会输入到配置模块b中。而加载模块a在每次进行加载数据时都先从配置模块b中获取最新的数据进行加载。通过三个模块的联合作用,可以实现在同一个应用中从一个webapp更换为另一个webapp,更换后的应用退出后重新打开则会进入到新设置的webapp首页,原本的webapp首页将不会存在,且对新的webapp没有任何影响,真正的做到了webapp的动态配置。本发明重点讲解整体实现流程和动态配置模块的实现步骤,对现有技术中已经实现的部分(hybrideapijs和nativeapi)只做改动部分的介绍。本发明以android系统为实施例,实现本发明具体步骤如下:步骤一:搭建android的项目,推荐采用androidstudio开发工具。步骤二:添加webview组件和添加组件配置功能。1、添加webview组件,实现web页面加载;在项目中的主窗体类即mainactivity对应的xml文件中添加webview组件,并充满整个页面。在mainactivity中初始化webview组件。接下来调用webview的成员方法loadurl完成页面加载:loadurl(″http://www.baidu.com″);在加载前需要从sharedpreferences(android中一种轻量级的数据存储方式,采用key/value键值对的方式)中获取之前存储的url1(webapp的首页地址),若地址存在,则直接通过方法loadurl加载获取到的url1,否则需要加载事先写入的默认首页地址,如http://www.baidu.com。2、添加webview组件配置功能,具体方法如下。上述方法实现了web页面在webview组件内置浏览器打开,避免在第三方浏览器或系统默认浏览器中打开。步骤三:创建配置入口和添加配置方法updateurl;1.创建配置入口,为开发人员提供数据输入口;本发明以窗口形式为例,在mainactivity对应的xml文件中添加编辑框fdittext和按钮button,fdittext用于开发人员输入新的webapp首页地址(例如:http://www.sina.com),按钮button用于调用步骤三中2的配置方法updateurl,实现更换webapp的首页地址。创建配置入口的形式有多种,比如配置文件形式、网络接口形式等,开发人员可根据实际情况自由选择,本步骤只是对窗口形式的介绍,但本发明不局限于此形式。2、创建webapp首页地址配置方法updateurl,接收开发人员输入到步骤1中eidttext的新首页地址;其具体实现是创建一个方法updateurl,该方法包含参数url2,用于接收新的webapp的首页地址。将接收到的url2进行三方面的操作。一方面使用androidsdk中的sharedpreferences(android中一种轻量级的数据存储方式,采用key/value键值对的方式)进行存储;第二方面调用步骤二中1的loadurl方法进行加载新的首页地址;第三方面将新首页地址传递到步骤四中saveurl方法进行数据的存储,具体实现方法步骤四会进行介绍。步骤四:创建数据存储方法和数据查询方法,实现数据的存储和数据的查询功能;。创建数据存储方法saveurl。本发明采用数据库的方式进行存储,数据库使用sqlite3(是一款轻型的数据库,是一种关系型数据库管理系统)。存储方法saveurl主要是利用sql语句将传入参数url3插入到表table_url中。表table_url由id和url(首页地址)两个字段组成,id采用自增模式。具体实现语句如下:″’insertintotable_url(url)values(valuel)″;创建数据查询方法selecturl。实现方法是采用模糊查询方式查询表table_url中的url字段。具体实现语句如下(其中keyword表示查询关键字):″selecturlfromtableurlwhereurllike’%″+keyword+″%’″;创建数据存储方法和创建数据查询方法是完成管理模块的主要步骤,主要实现对步骤三中配置模块接收到的数据的存储和管理,提供最终的数据展示。其目的是为用户在配置入口中输入webapp首页地址提供查询服务,避免相同信息的二次输入,减少用户输入量,提升用户体验。步骤五:添加原生功能、js接口和权限本发明以采用cordova为开发框架来开发混合应用为例:cordovapluginaddcordova-plugin-camera上述方法为添加camera插件,添加插件后对应的调用相机等原生功能、js接口和权限均会加入到项目中,webapp则可通过引入js接口完成调用相机功能。参照上述方法可以将cordova中官方提供的插件和开源的第三方插件均添加到项目中。需要注意的是在混合应用开发过程中,会涉及到图2所示的hybridapijs和nativeapi,针对调用nativeapi的情况本发明在生成应用之前需要将尽可能多的nativeapi以及对应的权限申请(如网络权限、读取存储权限、定位权限等)添加到应用中,目的是满足更多不同需求的webapp;若没有添加足够的nativeapi或权限则在配置使用新的webapp时会出现操作无反应或权限缺失的情况,这是由于应用中没有找到对应的nativeapi和权限。为避免此类情况的发生,开发人员可在应用生成前尽可能多的添加nativeapi和权限,以及业务中需要的其他功能。由于该步骤涉及到开发者所使用的第三方框架,因此没有确定的实现方式,开发人员可根据开发方式和业务需求去添加和实现,本发明不做详细介绍。步骤六:生成应用使用android开发工具androidstudio生成应用安装包。在android手机上成功安装后,能够看到应用首次打开了默认的webapp首页(例如:http://www.baidu.com,百度首页),当在fdittext中输入新的webapp首页地址(例如:http://www.sina.com,新浪首页),并点击button按钮后,应用首页会立即加载新输入的首页(新浪首页)。然后退出应用后再次打开,应用将打开最后一次输入的首页(新浪首页),默认的首页或之前设置的首页将不再打开,至此该应用转换为一个崭新的应用,真正实现了webapp的动态配置。应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1