基于安卓和IOS跨端混合的方法、系统、设备及存储介质技术方案

技术编号:36981578 阅读:21 留言:0更新日期:2023-03-25 18:00
本申请提供一种基于安卓和IOS跨端混合的方法

【技术实现步骤摘要】
基于安卓和IOS跨端混合的方法、系统、设备及存储介质


[0001]本专利技术实施例涉及数据交互
,具体涉及一种基于安卓和IOS跨端混合的方法、系统、设备及存储介质。

技术介绍

[0002]随着HTML5的不断普及及优化,以及移动端对动态化的需求越来越大,开发者经常需要在应用程序中嵌入一些网页,然后会在网页端和原生端之间进行交互,例如传递数据,调用函数,而连接网页端与原生端需要一个桥梁。在移动互联网的高速发展的状况下,常规的开发速度已经渐渐不能满足市场需求。原生H5混合开发应运而生,Hybrid App(混合开发)主要以网页+原生两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。节省了安卓和IOS的工作量,提高了开发效率,节约了开发成本。
[0003]实际应用中,通常不止有安卓平台,常用的还包括IOS平台,但随之而来的是网页+原生两者如何相互调用的问题。

技术实现思路

[0004]鉴于以上所述现有技术的缺点,为了有效解决跨平台开发的效率问题,达到“网页代码只需一份,同样的网页代码能同时保证与IOS端和安卓端的正常通信”的效果,本专利技术引入DSBridge框架。DSBridge跨平台,同时支持IOS和安卓。DSBridge双向调用,网页可以调用原生,原生可以调用网页。DSBridge支持同步调用和异步调用,同步用于一般任务,异步主要用于耗时任务,调用方式不同会影响前段代码流程。DSBridge在IOS端和安卓端是同一个作者,如果将来更新时可以高效地保证双端同步。
[0005]本专利技术实施例提供一种基于安卓和IOS跨端混合的方法,包括以下步骤:
[0006]分别封装目标网页接口函数和目标原生接口函数;
[0007]网页端通过所述目标网页接口函数调用交互桥接层DSBridge的交互接口;
[0008]所述交互桥接层的所述交互接口调用所述目标原生接口函数;
[0009]所述目标原生接口函数执行原生端的原生功能或者获取原生数据。
[0010]于本专利技术的一实施例中,所述分别封装目标网页接口函数和目标原生接口函数步骤的所述网页接口函数和所述网页端通过所述目标网页接口函数调用交互桥接层DSBridge的交互接口步骤的所述交互接口,都包括同步请求和异步请求两种方式;
[0011]如果请求返回所述原生数据,则采用异步请求方式,向所述交互桥接层DSBridge传入回调函数接口,所述原生接口函数调用所述回调函数接口返回所述原生数据给所述网页端;
[0012]如果不请求返回所述原生数据,则采用同步请求方式,仅执行所述原生功能。
[0013]于本专利技术的一实施例中,在所述分别封装目标网页接口函数和目标原生接口函数步骤中,所述原生接口函数的实现步骤如下:
[0014]在所述原生端新建一个类,作为原生接口(API);
[0015]添加所述原生接口(API)到网页视图(Webview),并为它指定一个命名空间;
[0016]在所述网页端(Web端)的代码中调用所述原生接口(API),并注册一个反向网页接口(JS API)供所述原生端调用;
[0017]所述原生端使用原生代码执行所述原生功能;
[0018]在所述原生代码中调用所述反向网页接口(JS API)。
[0019]于本专利技术的一实施例中,在所述分别封装目标网页接口函数和目标原生接口函数步骤中,所述原生端包括安卓端和IOS端。
[0020]于本专利技术的一实施例中,在所述分别封装目标网页接口函数和目标原生接口函数步骤中,当在所述安卓端进行封装时,进行如下步骤:
[0021]在所述安卓端新建第一Java类,实现第一原生接口(API);
[0022]添加所述第一原生接口(API)到第一网页视图(Webview);
[0023]在所述安卓端调用所述反向网页接口(JS API)。
[0024]于本专利技术的一实施例中,在所述分别封装目标网页接口函数和目标原生接口函数步骤中,当在所述IOS端进行封装时,进行如下步骤:
[0025]在所述IOS端新建第二Java类,实现第二原生接口;
[0026]添加所述第二原生接口到第二网页视图;
[0027]在所述IOS端调用所述反向网页接口。本专利技术提供一种采用上述基于安卓和IOS跨端混合方法的系统,包括:
[0028]网页端、交互桥接层和原生端;
[0029]其中,在所述网页端和所述原生端之间,采用DSBridge作为所述交互桥接层,所述网页端和所述原生端通过所述交互桥接层进行通讯。所述网页端通过其网页接口函数经由所述交互桥接层调用所述原生端的原生接口函数,所述原生端也通过所述交互桥接层将其被请求的数据返回给所述网页端。
[0030]于本专利技术的一实施例中,所述系统还包括网页接口函数和原生接口函数;所述网页接口函数是所述交互桥接层的交互接口经封装而成,供所述网页端调用;所述原生接口函数是所述原生端的原生功能经封装而成,供所述交互桥接层调用。
[0031]具体的,系统包括JavaScript API封装层、原生API封装层以及所述交互桥接层提供的统一原生交互接口,所述JavaScript API封装层提供统一的接口函数给所述网页端调用,同时调用所述统一原生交互接口,与所述原生API封装层交互。
[0032]本专利技术提供一种设备,包括:
[0033]一个或多个处理器;
[0034]存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现前述方法中任一项所述的基于安卓和IOS跨端混合的方法。
[0035]本专利技术还进一步提供一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行前述方法中任一项所述的安卓和IOS跨端混合的方法。
[0036]本专利技术的有益效果:本专利技术的基于安卓和IOS跨端混合的方法、系统、设备及存储介质,利用交互桥接层DSBridge进行网页端(Web端)与原生端(Native端)之间的通信,通过
对安卓(Android)端的第一网页视图组件(Webview组件)和IOS端的第二网页视图组件(DWKWebView组件)以及网页端(web端)进行封装,只需要一套代码就能分别在安卓端和IOS端实现原生端和网页端数据交互的功能,提高了开发效率,节约了开发成本。
[0037]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0038]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0039]图1是本申请的一示例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于安卓和IOS跨端混合的方法,其特征在于,包括以下步骤:分别封装目标网页接口函数和目标原生接口函数;网页端通过所述目标网页接口函数调用交互桥接层DSBridge的交互接口;所述交互桥接层的所述交互接口调用所述目标原生接口函数;所述目标原生接口函数执行原生端的原生功能或者获取原生数据。2.根据权利要求1所述的基于安卓及IOS跨端混合的方法,其特征在于:所述分别封装目标网页接口函数和目标原生接口函数步骤中,所述网页接口函数和所述网页端通过所述目标网页接口函数调用交互桥接层DSBridge的交互接口步骤的所述交互接口,都包括同步请求和异步请求两种方式;如果请求返回所述原生数据,则采用异步请求方式,向所述交互桥接层DSBridge传入回调函数接口,所述原生接口函数调用所述回调函数接口返回所述原生数据给所述网页端;如果不请求返回所述原生数据,则采用同步请求方式,仅执行所述原生功能。3.根据权利要求1所述的基于安卓及IOS跨端混合的方法,其特征在于,在所述分别封装目标网页接口函数和目标原生接口函数步骤中,所述原生接口函数的实现步骤如下:在所述原生端新建一个类,作为原生接口;添加所述原生接口到网页视图,并为它指定一个命名空间;在所述网页端的代码中调用所述原生接口,并注册一个反向网页接口供所述原生端调用;所述原生端使用原生代码执行所述原生功能;在所述原生代码中调用所述反向网页接口。4.根据权利要求3所述的基于安卓及IOS跨端混合的方法,其特征在于,在所述分别封装目标网页接口函数和目标原生接口函数步骤中,所述原生端包括安卓端和IOS端。5.根据权利要求4所述的基于安卓和IOS跨端混合的方法,...

【专利技术属性】
技术研发人员:柯贤林
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1