Android原生和H5下数据处理方法、终端和介质与流程

文档序号:22757613发布日期:2020-10-31 09:55阅读:177来源:国知局
Android原生和H5下数据处理方法、终端和介质与流程

本发明涉及混合开发下数据处理方法技术领域,具体地说是一种android原生和h5下数据处理方法、终端和介质。



背景技术:

在android应用开发中,使用android框架下的webview作为载体可以实现android与h5混合开发实现特定功能,开发人员可根据功能需求实现android与h5的数据及其相关操作的交互,现有技术普遍采用由h5独立获取数据并处理相关逻辑,android负责提供webview作为载体并处理简单的交互逻辑,但是由h5直接请求并处理数据,所有数据请求和处理处于html标准和对应脚本下,用户可直接查看相关代码逻辑,会出现数据安全问题,同时在android原生和h5混合开发框架下,需要提供android原生和h5两个数据接收和处理方案,增加代码规范和相关标准制定的难度,在一些有数据安全需求的领域存在数据安全隐患。

基于上述分析,在android原生和h5混合开发框架下如何解决因h5导致的可能出现的数据安全,是需要解决的技术问题。



技术实现要素:

本发明的技术任务是针对以上不足,提供一种android原生和h5下数据处理方法、终端和介质,来解决在android原生和h5混合开发框架下如何解决因h5导致的可能出现的数据安全的问题。

第一方面,本发明提供一种android原生和h5混合开发下数据处理方法,将h5相关的数据访问请求替换为android原生框架请求,通过android原生框架向服务器端请求数据,并通过android原生框架对数据进行加密解密处理,包括:

通过android原生框架对从服务器端接收的数据进行解密,基于数据传递标准将解密后的数据进行封装,并将封装后的数据传入h5;

h5接收到用户上传的数据后,基于数据传递标准将所述数据封装后传入android原生框架,通过android原生框架对上述封装的数据进行加密处理后上传服务器端;

所述数据传递标准为android原生和h5之间定制的数据传递标准。

作为优选,android原生框架通过访问服务器端口向服务器端请求数据。

作为优选,android原生框架通过加密协议及私钥,对从服务器端接收的数据进行解密;

所述加密协议及私钥为android原生框架与服务器端之间配置的加密协议及私钥。

作为优选,android原生框架基于数据传递标准将解密后的数据封装为json格式后传入h5;

h5接收到用户上传的数据后,基于数据传递标准将数据封装为json格式后传入android原生框架。

作为优选,所述android原生框架将解密后的数据封装为json格式后,调用javascript方法将封装后的数据传入h5;

h5接收到用户上传的数据后,调用javascript方法将数据封装为json格式后传入android原生框架。

作为优选,通过android原生框架将封装后的数据传入h5后,h5基于数据传递标准读上述封装后的数据进行解析,得到目标数据,并在h5界面上展示目标数据。

作为优选,所述目标数据的内容形式包括但不限于html片段、文字内容、图片内容、多媒体内容。

第二方面,本发明提供一种装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。

第三方面,本发明提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。

本发明的一种android原生和h5下数据处理方法、终端和介质具有以下优点:

1、在android应用开发必须使用h5界面完成部分功能时,和常规实现方法相比,本技术方案通过统一的数据处理,可有效避免数据传输过程中的安全问题,同时因为android应用和服务端制定了统一的安全机制,可以有效统一数据的处理方式、传输的格式和数据解析标准;

2、h5不再执行数据上传下载,可以保证所有请求由android发起并统一管理,提高了整个应用的流程控制能力和响应管理能力,并有效避免代码冗余问题;

3、不破坏h5界面的灵活性,可随时修改迭代功能版本而无需频繁升级android应用程序。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

图1为实施例1android原生和h5下数据处理方法的流程框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

本发明实施例提供一种android原生和h5下数据处理方法、终端和介质,用于解决在android原生和h5混合开发框架下如何解决因h5导致的可能出现的数据安全的技术问题。

实施例1:

本发明的一种android原生和h5混合开发下数据处理方法,将h5相关的数据访问请求替换为android原生框架请求,通过android原生框架向服务器端请求数据,并通过android原生框架对数据进行加密解密处理。包括:

通过android原生框架对从服务器端接收的数据进行解密,基于数据传递标准将解密后的数据进行封装,并将封装后的数据传入h5;

h5接收到用户上传的数据后,基于数据传递标准将所述数据封装后传入android原生框架,通过android原生框架对上述封装的数据进行加密处理后上传服务器端;

上述数据传递标准为android原生和h5之间定制的数据传递标准。

在基于android原生框架与h5混合开发时,以webview控件作为h5界面的容器,通过配置相关参数并调用loadurl(stringurl)方法加载h5界面,即可完成简单的android应用内加载h5界面,在此基础上,我们通过android原生框架和javascript提供的相关方法完成数据交互:

(1)、android原生框架通过loadurl(stringurl)方法调用h5的javascript方法并传递数据,例如:

publicvoidloadjavascriptmathed(){

webview.loadurl(“javascript:androidcalljavascriptmethod()”);

}

(2)android原生框架通过实现带有@javascriptinterface注解的方法接收h5数据,例如:

@javascriptinterface

publicvoidonjavascriptclick(stringdata){

//处理数据}

(3)javascript实现接收方法和调用方法,例如:

<scripttype=”text/javascript”language=”javascript”>

functioncalljavascriptmethod(){

window.mainactivity.onjavascriptclick(“data”);

}

functionandroidcalljavascriptptmethod(){

}

<script>

与传统的混合开发方案不同,本申请中h5不再参与访问服务器数据,所有数据均由android原生框架请求并处理后传入javascript,同时h5提交的数据也通过统一处理后由android原生框架提交到服务器,h5不参与任何数据的下载和同步。

为实现本方案并且不破坏h5的灵活性和可扩展性,需要提供android原生框架和h5的数据交互标准,该标准需要满足整体要求,即数据通过统一的自定义标准封装成数据包进行传递(如通过json格式封装数据),同时封装标准的制定不涉及内部业务数据的修改,内部业务数据根据功能需求由服务器端程序和h5界面同步制定,并可在服务器端程序和h5同步更新、修改,从而完成功能的迭代升级和相关扩展;android应用涉及到的数据安全处理和封装,在不涉及到整体安全解决方案和整体业务流程修改的情况下,不需要修改代码逻辑和进行应用版本升级,功能迭代的需求可交由后台服务端和h5界面的更新迭代来完成。

数据加密、解密及相关处理由android原生框架与服务器端程序配合完成,相关加密方案根据系统方案统一制定,由服务器端程序和android原生框架联合控制,h5不参与任何加密解密处理,只进行必要的数据格式的处理。

本实施例中,该方法的步骤为:

s100、android原生框架通过访问服务端接口请求数据,此时获取到的数据处于加密状态,android原生框架通过加密协议、秘钥等解密并处理加密数据,同时根据制定好的android原生框架与h5数据传递标准完成数据格式的封装,本实施例中将数据封装为json格式;

s200、android原生框架调用javascript方法将封装后的数据传入目标h5界面;

s300、h5通过数据传递标准解析数据,获取目标数据内容并展示在界面上,因为此节点是作为具体业务功能的展示,所以目标数据内容存在多种形式,包括html片段、文字内容、图片内容、多媒体内容等;

s400、当用户通过与h5界面交互发起数据处理上传的请求时,h5首先收集待上传数据,并通过javascript将数据处理封装成标准格式(本实施例为json格式),然后调用android对应方法传入android原生框架;

s500、android原生框架接收javascript传入的数据,通过统一加密、处理,调用服务器相关接口并传入加密后的数据完成最终请求;

s600、android原生框架接收服务器返回的处理结果,重复流程s100的相关步骤,将服务器处理结果反馈给h5,完成本流程的最终结果反馈。

实施例2:

本发明实施例还提供了一种:装置,包括:至少一个存储器和至少一个处理器;上述至少一个存储器,用于存储机器可读程序;上述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的android原生和h5下数据处理方法。

实施例3:

本发明:提供了一种计算机可读介质,该计算机可读介质上存储有计算机指令,该计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的android原生和h5下数据处理方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

需要说明的是,上述各流程不是所有的步骤都是必须的,可以根据实际的需要忽略某些步骤。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

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