本发明涉及数据共享领域,尤其涉及一种基于android平台h5和原生之间安全共享数据的方法、计算装置及计算机可读介质。
背景技术:
1、目前android(安卓)端主流的开发方式是混合app。就是在一个原生app中内嵌一个轻量级的浏览器,一部分原生的功能改为html 5来开发,这部分功能不仅能够在不升级app的情况下动态更新,而且开发成本低,一套html5代码可以在不同平台上同时运行。
2、混合app开发是原生和html 5(h5)相结合的一种开发模式,既体现了原生部分的全方位的硬件支持、高效的性能,流畅的用户体验,又发挥了html 5部分的跨平台性、动态更新的优势。html 5和原生的交互成了两者优势互补的必备使用场景,html 5和原生的交互中,数据共享也成了必不可少的,比如说原生存储的用户信息,html 5可以不必再从服务端获取,直接从原生获取。从而减少流量的消耗和服务器的访问,原生也可以从html 5获取缓存的数据,然而目前大多html 5和原生的数据缓存是各自维护的,这样导致了很多问题,比如:资源的浪费;开发繁琐,成本高;性能不高,数据安全隐患。。
3、因此,有必要提出一种新的技术方案。
技术实现思路
1、为解决现有技术中存在的技术问题,本发明公开了一种基于android平台的共享数据的方法、装置及计算机可读介质。
2、本发明提供一种安卓平台h5和原生之间安全共享数据的方法,html 5从原生框架获取数据,且将数据存储于原生框架,原生框架和html 5之间根据预定规则获取、保存数据,且数据的保存和获取均采用秘钥的加密和解密,包括:
3、制定h5获取、保存数据的url;
4、h5通过调用url的函数访问预先制定好的url;
5、原生框架通过设置网页视图的接口回调拦截h5访问的url;
6、解析拦截h5访问的url,判断h5访问url的目的是否是保存、获取数据;
7、若判断结果是保存数据,则h5将数据保存于原生框架中,或,若判断结果是获取数据,则h5从原生框架中获取数据。
8、进一步地,制定h5获取、保存数据的url,包括scheme、host、path、query,
9、scheme://host是通用规则;
10、path是制定保存、获取数据的规则;
11、query是制定保存、获取数据所需要的键或键和值。
12、进一步地,url的函数为window.location.href。
13、进一步地,原生框架通过设置网页视图的接口回调拦截h5访问的url,具体为:原生框架通过webview设置的webviewclient中的shouldoverrideurlloading回调拦截h5访问的url。
14、进一步地,若判断结果为否,则h5正常访问页面的url。
15、进一步地,若判断结果是保存,则h5将数据保存于原生框架中,具体包括:
16、解析query函数中的键和值;
17、通过加密的key对值进行加密;
18、将加密后的数据保存于原生框架中。
19、进一步地,若判断结果是获取数据,则h5从原生框架中获取数据,具体包括。
20、解析query函数中获取数据的键,并回调原生框架的function函数名字;
21、根据数据的key,从原生框架中获取对应的值;
22、通过加密的key对值进行解密;
23、原生框架通过“window.”拼接解析出h5回调的function名字和获取到对应值的字符串;
24、webview调用h5接收数据;
25、h5在指定的function函数中获取原生框架返回的数据。
26、进一步地,webview调用h5接收数据,具体包括:原生框架通过拼接的字符串,采用webview根据系统版本的不同通过调用evaluatejavascript或者loadurl来调用h5接收数据的方法。
27、另一方面,本发明还提供一种计算装置,其包括处理器和存储器,所述存储器中存储有程序指令,所述程序指令由处理器执行以实现上述的方法
28、再一方面,本发明提供一种计算机可读介质,所述可读介质存储有执行上述方法的计算机程序。
29、本发明基于android平台的共享数据的方法,其解决了android平台开发的html 5和原生之间数据共享的资源浪费、开发繁琐、成本高,性能不高和数据安全隐患等问题。
30、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种安卓平台h5和原生共享数据的方法,其特征在于,h5从原生框架获取数据,且将数据存储于原生框架,原生框架和html 5之间根据预定规则获取、保存数据,且数据的保存和获取均采用秘钥的加密和解密,包括:
2.根据权利要求1所述的安卓平台h5和原生共享数据的方法,其特征在于,制定h5获取、保存数据的url,包括scheme、host、path、query,
3.根据权利要求1所述的安卓平台h5和原生共享数据的方法,其特征在于,url的函数为window.location.href。
4.根据权利要求3所述的安卓平台h5和原生共享数据的方法,其特征在于,原生框架通过设置网页视图的接口回调拦截h5访问的url,具体为:原生框架通过webview设置的webviewclient中的shouldoverrideurlloading回调拦截h5访问的url。
5.根据权利要求1所述的安卓平台h5和原生共享数据的方法,其特征在于,若判断结果为否,则h5正常访问页面的url。
6.根据权利要求5所述的安卓平台h5和原生共享数据的方法,其特征在于,若判断结果是保存,则h5将数据保存于原生框架中,具体包括:
7.根据权利要求1所述的安卓平台h5和原生共享数据的方法,其特征在于,
8.根据权利要求7所述的安卓平台h5和原生共享数据的方法,其特征在于,
9.一种计算装置,其特征在于,其包括处理器和存储器,所述存储器中存储有程序指令,所述程序指令由处理器执行以实现权利要求1-8任一所述的方法。
10.一种计算机可读介质,其特征在于,所述可读介质存储有执行权利要求1至8任一项所述方法的计算机程序。
