平臺(tái)橋接(@arkui-x.bridge)
簡(jiǎn)介
平臺(tái)橋接用于客戶端(ArkUI)和平臺(tái)(Android或iOS)之間傳遞消息,即用于ArkUI與平臺(tái)雙向數(shù)據(jù)傳遞、ArkUI側(cè)調(diào)用平臺(tái)的方法、平臺(tái)調(diào)用ArkUI側(cè)的方法。
以Android平臺(tái)為例,ArkTS和Java沒(méi)有相互調(diào)用的能力,為了實(shí)現(xiàn)ArkTS和Java交互,需要ArkTS與C++交互,C++再與Java交互,反之亦然。但是對(duì)于開(kāi)發(fā)者,就像是ArkTS和Java直接交互。
本文介紹如何通過(guò)平臺(tái)橋接編寫(xiě)自定義的Android、iOS平臺(tái)代碼。ArkUI側(cè)具體用法請(qǐng)參考[Bridge API],Android側(cè)參考[BridgePlugin],iOS側(cè)參考[BridgePlugin]。
使用場(chǎng)景及能力
使用場(chǎng)景
平臺(tái)橋接主要用于這樣的場(chǎng)景:應(yīng)用需要復(fù)用平臺(tái)的代碼,而在OpenHarmony中沒(méi)有對(duì)應(yīng)的跨平臺(tái)API(不包括UI相關(guān))實(shí)現(xiàn)。
具體可用于以下場(chǎng)景:
1、ArkUI與平臺(tái)雙向傳遞數(shù)據(jù),如傳遞JSON數(shù)據(jù)、圖片等;
2、ArkUI側(cè)調(diào)用平臺(tái)的API,如獲取Android或iOS平臺(tái)上的電池電量、復(fù)用平臺(tái)上的三方庫(kù)等;
3、平臺(tái)調(diào)用ArkUI側(cè)的方法,如復(fù)用JavaScript的三方庫(kù)等。
說(shuō)明
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
平臺(tái)橋接支持ArkUI調(diào)用Android Java API和iOS Objective-C API。此外,一些平臺(tái)相關(guān)功能可直接通過(guò)已有的[OpenHarmony跨平臺(tái)API]實(shí)現(xiàn)。
數(shù)據(jù)類(lèi)型支持
平臺(tái)橋接通過(guò)JSON格式序列化編解碼傳遞數(shù)據(jù),支持基礎(chǔ)數(shù)據(jù)類(lèi)型、數(shù)組類(lèi)型和結(jié)構(gòu)化數(shù)據(jù)。具體支持類(lèi)型如下表:
ArkTS | Java | Objective-C |
---|---|---|
string | java.lang.String | NSString |
number(32bit integer) | java.lang.Integer | NSNumber numberWithInt |
number(double) | java.lang.Double | NSNumber numberWithDouble |
boolean | java.lang.Boolean | NSNumber numberWithBool |
null | null | NSNull |
Array | java.util.ArrayList | NSArray |
Map | java.util.HashMap | NSDictionary |
說(shuō)明
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
S表示string、number、boolean類(lèi)型,T表示S及其對(duì)應(yīng)的數(shù)組類(lèi)型; Map類(lèi)型僅支持string類(lèi)型的key,且僅用于方法返回。
審核編輯 黃宇
-
Android
+關(guān)注
關(guān)注
12文章
3973瀏覽量
130323 -
橋接
+關(guān)注
關(guān)注
0文章
38瀏覽量
11477 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2623瀏覽量
44077
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論