一种基于安卓应用程序刷新HTML5页面的方法和装置与流程

文档序号:17535537发布日期:2019-04-29 13:56阅读:236来源:国知局
一种基于安卓应用程序刷新HTML5页面的方法和装置与流程

本发明属于软件开发领域,尤其涉及一种基于安卓应用程序刷新html5页面的方法和装置。



背景技术:

目前,安卓平台与html5混合开发模式一般采取在安卓平台和html5各自的内置方法,实现相互之间的调用交互。具体地,安卓平台提供一个或多个方法给予html5,或者html5提供一个或多个的方法(例如,以javascript源码实现这些方法)给予安卓平台以调用获取数据或处理数据。因此,如果服务的后端需要通过安卓平台修改前端的html5页面,则不能简单地通过安卓平台内置方法处理数据,而是需要html5定义一个发送消息方法,安卓平台相应地定义一个接收消息方法。

现有操作实现安卓平台修改html5页面的例子如下。用户通过点击html5页面上的控件而发送消息给安卓平台。当安卓平台接收到相应的消息后,通过统一的消息处理机制,自行原生地显示输入按钮(即该按钮的显示并不依赖于前端的html5页面)。用户在点击该按钮后再由安卓平台弹出相对应页面,以接收用户输入的具体数据(如:文本内容、图片和选项等数据),然后把输入的具体数据通过调用html5提供方法返回至前端。前端接收消息数据,通过html5自己内部写好方法把数据处理并显示到页面上。

从以上安卓平台修改html5页面处理过程来看,安卓平台跟html5交互和消息处理是安卓平台修改html5页面处理的关键步骤。然而,当版本迭代更新而需要向.html5页面添加不同类型的控件时,上述方案使得安卓平台也要添加新类型和新输入界面。这意味着前端html5页面和后端安卓平台之间的耦合性较高,降低了服务的可扩展性。



技术实现要素:

本申请的目的是解决现有技术的不足,提供一种基于安卓应用程序刷新html5页面的方法和装置,能够获得快速方便地通过安卓平台直观地修改html5页面的效果。

为了实现上述目的,本申请采用以下的技术方案。

首先,本申请提出一种基于安卓应用程序刷新html5页面的方法,包括以下步骤:

s100)由前端加载html5页面,并捕获html5页面所发送的页面刷新消息;

s200)由安卓平台接收页面刷新消息,以获取页面刷新消息所指示的刷新类型;

s300)根据刷新类型,弹出相应的内容接收页面以获取用户输入的刷新内容;

s400)按照刷新类型所对应的预设格式,封装包含相应刷新内容的页面刷新消息并向前端发送所述页面刷新消息以动态地刷新html5页面。

进一步的,在本申请的上述方法中,所述步骤s100还包括以下的子步骤:

s101)加载html5页面,以显示接收用户指定刷新类型的页面控件;

s102)接收用户点击页面控件的消息,以发送该页面控件所对应的页面刷新消息。

可替代地,在本申请的上述方法中,所述页面刷新消息至少包括待刷新控件id和刷新类型。

进一步地,在本申请的上述方法中,所述步骤s200还包括以下后继处理步骤:

校验所捕获的页面刷新消息内的待刷新控件id和刷新类型,以确定页面刷新消息的正确性。

进一步地,在本申请的上述方法中,所述步骤s300还包括以下的子步骤:

s301)根据所获取的刷新类型,弹出相应的内容接收页面以接收用户输入的刷新内容和确认消息;

s302)捕获用户发出的确认消息,以接收用户输入的刷新内容。

再进一步地,在本申请的上述方法中,所述步骤s400还包括以下步骤:

s401)按照刷新类型所对应的预设格式,封装至少包含用户输入的刷新内容和待刷新控件id的页面刷新消息;

s402)向前端发送所述页面刷新消息;

s403)根据所述页面刷新消息内的刷新内容和待刷新控件id,动态地刷新相应的控件。

进一步地,在本申请的上述方法中,html5页面和安卓平台之间的消息收发是通过第三方工具库webviewjavascriptbridge实现。

其次,本申请还提出一种基于安卓应用程序刷新html5页面的装置,包括以下模块:加载模块,用于由前端加载html5页面,并捕获html5页面所发送的页面刷新消息;接收模块,用于由安卓平台接收页面刷新消息,以获取页面刷新消息所指示的刷新类型;弹出模块,用于根据刷新类型,弹出相应的内容接收页面以获取用户输入的刷新内容;封装模块,用于按照刷新类型所对应的预设格式,封装包含相应刷新内容的页面刷新消息并向前端发送所述页面刷新消息以动态地刷新html5页面。

进一步的,在本申请的上述装置中,所述加载模块还包括以下的子模块:执行模块,用于加载html5页面,以显示接收用户指定刷新类型的页面控件;发送模块,用于接收用户点击页面控件的消息,以发送该页面控件所对应的页面刷新消息。

可替代地,在本申请的上述装置中,所述页面刷新消息至少包括待刷新控件id和刷新类型。

进一步地,在本申请的上述装置中,所述接收模块还包括以下后继处理模块:校验模块,用于校验所捕获的页面刷新消息内的待刷新控件id和刷新类型,以确定页面刷新消息的正确性。

进一步地,在本申请的上述装置中,所述弹出模块还包括以下的子模块:第二执行模块,用于根据所获取的刷新类型,弹出相应的内容接收页面以接收用户输入的刷新内容和确认消息;捕获模块,用于捕获用户发出的确认消息,以接收用户输入的刷新内容。

再进一步地,在本申请的上述装置中,所述封装模块还包括以下子模块:第三执行模块,用于按照刷新类型所对应的预设格式,封装至少包含用户输入的刷新内容和待刷新控件id的页面刷新消息;推送模块,用于向前端发送所述页面刷新消息;刷新模块,用于根据所述页面刷新消息内的刷新内容和待刷新控件id,动态地刷新相应的控件。

进一步地,在本申请的上述装置中,html5页面和安卓平台之间的消息收发是通过第三方工具库webviewjavascriptbridge实现。

最后,本申请还提出一种计算机可读存储介质,其上存储有计算机指令。上述指令被处理器执行时,执行如下步骤:

s100)由前端加载html5页面,并捕获html5页面所发送的页面刷新消息;

s200)由安卓平台接收页面刷新消息,以获取页面刷新消息所指示的刷新类型;

s300)根据刷新类型,弹出相应的内容接收页面以获取用户输入的刷新内容;

s400)按照刷新类型所对应的预设格式,封装包含相应刷新内容的页面刷新消息并向前端发送所述页面刷新消息以动态地刷新html5页面。

进一步的,在本申请的上述指令被处理器执行的过程中,所述步骤s100还包括以下的子步骤:

s101)加载html5页面,以显示接收用户指定刷新类型的页面控件;

s102)接收用户点击页面控件的消息,以发送该页面控件所对应的页面刷新消息。

可替代地,在本申请的上述指令被处理器执行的过程中,所述页面刷新消息至少包括待刷新控件id和刷新类型。

进一步地,在本申请的上述指令被处理器执行的过程中,所述步骤s200还包括以下后继处理步骤:

校验所捕获的页面刷新消息内的待刷新控件id和刷新类型,以确定页面刷新消息的正确性。

进一步地,在本申请的上述指令被处理器执行的过程中,所述步骤s300还包括以下的子步骤:

s301)根据所获取的刷新类型,弹出相应的内容接收页面以接收用户输入的刷新内容和确认消息;

s302)捕获用户发出的确认消息,以接收用户输入的刷新内容。

再进一步地,在本申请的上述指令被处理器执行的过程中,所述步骤s400还包括以下步骤:

s401)按照刷新类型所对应的预设格式,封装至少包含用户输入的刷新内容和待刷新控件id的页面刷新消息;

s402)向前端发送所述页面刷新消息;

s403)根据所述页面刷新消息内的刷新内容和待刷新控件id,动态地刷新相应的控件。

进一步地,在本申请的上述指令被处理器执行的过程中,html5页面和安卓平台之间的消息收发是通过第三方工具库webviewjavascriptbridge实现。

本申请的有益效果为:通过充分利用安卓平台在智能移动端上的特性,快速方便地利用安卓平台直观地修改html5页面。

附图说明

图1所示为本申请所公开的基于安卓应用程序刷新html5页面方法的方法流程图;

图2所示为根据图1所示方法的用例图;

图3所示为根据本申请一个实施例的页面加载子方法流程图;

图4所示为根据本申请另一个实施例的弹出页面子方法流程图;

图5所示为根据本申请又一个实施例的消息发送子方法流程图;

图6所示为本申请所公开的基于安卓应用程序刷新html5页面装置的模块结构图。

具体实施方式

以下将结合实施例和附图对本申请的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本申请的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“该”和“所述”也旨在包括多数形式,除非上下文清楚地表示其他含义。

此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。

参照图1所示方法流程图,根据本申请所公开的基于安卓应用程序刷新html5页面的方法,可以包括以下步骤:

s100)由前端加载html5页面,并捕获html5页面所发送的页面刷新消息;

s200)由安卓平台接收页面刷新消息,以获取页面刷新消息所指示的刷新类型;

s300)根据刷新类型,弹出相应的内容接收页面以获取用户输入的刷新内容;

s400)按照刷新类型所对应的预设格式,封装包含相应刷新内容的页面刷新消息并向前端发送所述页面刷新消息以动态地刷新html5页面。

其中,这里所指的html5页面是包括html和javascript的源码文件。该html5页面是这些html节点和javascript方法组成(即html5页面内容是由html和javascript源码组成)。安卓平台动态刷新html5页面所用到的方法接口(例如消息的响应、封装、发送和接收等等)由这里的javascript源码所定义。

具体地,参照图2所示用例流程图和图3所示的子方法流程图,在本申请的一个或多个实施例中,所述步骤s100还可以包括以下的子步骤:

s101)加载html5页面,以显示接收用户指定刷新类型的页面控件;

s102)接收用户点击页面控件的消息,以发送该页面控件所对应的页面刷新消息。

当用户点击html5页面上的要修改的内容后,html5向后端安卓平台发送页面刷新消息。进一步地,在本申请的上述一个或多个实施例中,所述页面刷新消息至少包括待刷新控件id和刷新类型。例如,页面刷新消息可以如下结构进行封装:

其中id赋值为待刷新控件id,type赋值为刷新类型,而val可用于赋值附加信息。因此,当用户点击相应控件后,刷新控件id和刷新类型可以上述方式进行封装,再发送至后端安卓平台。

进一步地,在本申请的上述一个或多个实施例中,所述步骤s200还包括以下后继处理步骤:校验所捕获的页面刷新消息内的待刷新控件id和刷新类型,以确定页面刷新消息的正确性。例如,可以校验待刷新控件id和刷新类型是否匹配,以确定前端html5页面或后端安卓平台的版本迭代更新是否导致了相关控件的id及其类型变动,以及相关变动是否在前端html5页面或后端安卓平台中得到同步调整。

参照图4所示的子方法流程图,在本申请的一个或多个实施例中,所述步骤s300还包括以下的子步骤:

s301)根据所获取的刷新类型,弹出相应的内容接收页面以接收用户输入的刷新内容和确认消息;

s302)捕获用户发出的确认消息,以接收用户输入的刷新内容。

再次返回到图2所示的用例图,后端安卓平台收到页面刷新消息后,将获取封装在页面刷新消息内的刷新类型。该刷新类型可以是刷新内容的类型(例如文本、数值或者图片,甚至可以进一步细分为单行文本、数字文本和多行文本等等),也可以是步骤s302中将要弹出的内容接收页面的id。当用户输入或者选择相应内容后,后端安卓平台可以根据上述刷新类型和待刷新控件id,封装用户输入的刷新内容以发送到前端。

参照图5所示的子方法流程图和图2所示的用例图,在本申请的一个或多个实施例中,所述步骤s400还包括以下步骤:

s401)按照刷新类型所对应的预设格式,封装至少包含用户输入的刷新内容和待刷新控件id的页面刷新消息;

s402)向前端发送所述页面刷新消息;

s403)根据所述页面刷新消息内的刷新内容和待刷新控件id,动态地刷新相应的控件。由于所发送的消息中包含了刷新内容和待刷新控件id,因此前端html5页面可以通过统一的机制针对性对指定控件进行刷新。上述基于安卓应用程序刷新html5页面流程大量使用安卓平台和html5交互实现数据实时传递。若这种交互通过安卓平台自带的webview控件实现,则由于接口暴露及webview容易被反射,使得整个流程的安全性较低。因此,在本申请的一个或多实施例中,html5页面和安卓平台之间的消息收发是通过第三方工具库webviewjavascriptbridge实现,以提高服务的安全性。

参照图6所示模块结构图,根据本申请所公开的基于安卓应用程序刷新html5页面的装置,可以包括以下模块:加载模块,用于由前端加载html5页面,并捕获html5页面所发送的页面刷新消息;接收模块,用于由安卓平台接收页面刷新消息,以获取页面刷新消息所指示的刷新类型;弹出模块,用于根据刷新类型,弹出相应的内容接收页面以获取用户输入的刷新内容;封装模块,用于按照刷新类型所对应的预设格式,封装包含相应刷新内容的页面刷新消息并向前端发送所述页面刷新消息以动态地刷新html5页面。其中,这里所指的html5页面是包括html和javascript的源码文件。该html5页面是这些html节点和javascript方法组成(即html5页面内容是由html和javascript源码组成)。安卓平台动态刷新html5页面所用到的方法接口(例如消息的响应、封装、发送和接收等等)由这里的javascript源码所定义。

具体地,参照图2所示用例流程图,在本申请的一个或多个实施例中,所述加载模块还包括以下的子模块:执行模块,用于加载html5页面,以显示接收用户指定刷新类型的页面控件;发送模块,用于接收用户点击页面控件的消息,以发送该页面控件所对应的页面刷新消息。当用户点击html5页面上的要修改的内容后,html5向后端安卓平台发送页面刷新消息。进一步地,在本申请的上述一个或多个实施例中,所述页面刷新消息至少包括待刷新控件id和刷新类型。例如,页面刷新消息可以如下结构进行封装:

其中id赋值为待刷新控件id,type赋值为刷新类型,而val可用于赋值附加信息。因此,当用户点击相应控件后,刷新控件id和刷新类型可以上述方式进行封装,再发送至后端安卓平台。

进一步地,在本申请的上述一个或多个实施例中,所述接收模块还包括以下后继处理模块:校验模块,用于校验所捕获的页面刷新消息内的待刷新控件id和刷新类型,以确定页面刷新消息的正确性。例如,可以校验待刷新控件id和刷新类型是否匹配,以确定前端html5页面或后端安卓平台的版本迭代更新是否导致了相关控件的id及其类型变动,以及相关变动是否在前端html5页面或后端安卓平台中得到同步调整。

进一步地,在本申请的一个或多个实施例中,所述弹出模块还包括以下的子模块:第二执行模块,用于根据所获取的刷新类型,弹出相应的内容接收页面以接收用户输入的刷新内容和确认消息;捕获模块,用于捕获用户发出的确认消息,以接收用户输入的刷新内容。再次返回到图2所示的用例图,后端安卓平台收到页面刷新消息后,将获取封装在页面刷新消息内的刷新类型。该刷新类型可以是刷新内容的类型(例如文本、数值或者图片,甚至可以进一步细分为单行文本、数字文本和多行文本等等),也可以是捕获模块将要弹出的内容接收页面的id。当用户输入或者选择相应内容后,后端安卓平台可以根据上述刷新类型和待刷新控件id,封装用户输入的刷新内容以发送到前端。

参照图2所示的用例图,在本申请的一个或多个实施例中,所述封装模块还包括以下子模块:第三执行模块,用于按照刷新类型所对应的预设格式,封装至少包含用户输入的刷新内容和待刷新控件id的页面刷新消息;推送模块,用于向前端发送所述页面刷新消息;刷新模块,用于根据所述页面刷新消息内的刷新内容和待刷新控件id,动态地刷新相应的控件。由于所发送的消息中包含了刷新内容和待刷新控件id,因此前端html5页面可以通过统一的机制针对性对指定控件进行刷新。上述基于安卓应用程序刷新html5页面流程大量使用安卓平台和html5交互实现数据实时传递。若这种交互通过安卓平台自带的webview控件实现,则由于接口暴露及webview容易被反射,使得整个流程的安全性较低。因此,在本申请的一个或多实施例中,html5页面和安卓平台之间的消息收发是通过第三方工具库webviewjavascriptbridge实现,以提高服务的安全性。

应当认识到,本申请的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。该方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

进一步地,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本申请的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文该步骤的指令或程序时,本文所述的申请包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本申请所述的方法和技术编程时,本申请还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本申请优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如权利要求书中阐述的本申请的更宽广精神和范围的情况下,可以对本申请做出各种修改和改变。

其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定落在本申请的精神和范围内的所有修改、替代构造和等效物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1