鸿蒙ArkUI-X跨语言调用说明:【平台桥接(@arkui-x.bridge)】

电子说

1.3w人已加入

描述

平台桥接(@arkui-x.bridge)

简介

平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。

以Android平台为例,ArkTS和Java没有相互调用的能力,为了实现ArkTS和Java交互,需要ArkTS与C++交互,C++再与Java交互,反之亦然。但是对于开发者,就像是ArkTS和Java直接交互。

本文介绍如何通过平台桥接编写自定义的Android、iOS平台代码。ArkUI侧具体用法请参考[Bridge API],Android侧参考[BridgePlugin],iOS侧参考[BridgePlugin]。

使用场景及能力

使用场景

平台桥接主要用于这样的场景:应用需要复用平台的代码,而在OpenHarmony中没有对应的跨平台API(不包括UI相关)实现。

具体可用于以下场景:

1、ArkUI与平台双向传递数据,如传递JSON数据、图片等;
2、ArkUI侧调用平台的API,如获取Android或iOS平台上的电池电量、复用平台上的三方库等;
3、平台调用ArkUI侧的方法,如复用JavaScript的三方库等。

说明
开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
平台桥接支持ArkUI调用Android Java API和iOS Objective-C API。此外,一些平台相关功能可直接通过已有的[OpenHarmony跨平台API]实现。

数据类型支持

平台桥接通过JSON格式序列化编解码传递数据,支持基础数据类型、数组类型和结构化数据。具体支持类型如下表:

ArkTSJavaObjective-C
stringjava.lang.StringNSString
number(32bit integer)java.lang.IntegerNSNumber numberWithInt
number(double)java.lang.DoubleNSNumber numberWithDouble
booleanjava.lang.BooleanNSNumber numberWithBool
nullnullNSNull
Arrayjava.util.ArrayListNSArray
Mapjava.util.HashMapNSDictionary

说明
HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿
S表示string、number、boolean类型,T表示S及其对应的数组类型; Map类型仅支持string类型的key,且仅用于方法返回。

桥接

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分