平臺橋接(@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格式序列化編解碼傳遞數據,支持基礎數據類型、數組類型和結構化數據。具體支持類型如下表:
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 |
說明
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
S表示string、number、boolean類型,T表示S及其對應的數組類型; Map類型僅支持string類型的key,且僅用于方法返回。
審核編輯 黃宇
-
Android
+關注
關注
12文章
3945瀏覽量
127927 -
橋接
+關注
關注
0文章
37瀏覽量
11273 -
鴻蒙
+關注
關注
57文章
2392瀏覽量
43050
發布評論請先 登錄
相關推薦
ArkUI-X開發指南:【SDK配置和構建說明】
![<b class='flag-5'>ArkUI-X</b>開發指南:【SDK配置和構建<b class='flag-5'>說明</b>】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙開發ArkUI-X基礎知識:【ArkUI代碼工程及構建介紹】
![<b class='flag-5'>鴻蒙</b>開發<b class='flag-5'>ArkUI-X</b>基礎知識:【<b class='flag-5'>ArkUI</b>代碼工程及構建介紹】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
鴻蒙ArkUI-X跨語言調用說明:【平臺橋接開發指南(Android)Bridge API】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>語言</b><b class='flag-5'>調用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺</b><b class='flag-5'>橋</b><b class='flag-5'>接</b>開發指南(Android)<b class='flag-5'>Bridge</b> API】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙ArkUI-X跨語言調用說明:【平臺橋接開發指南(Android)BridgePlugin】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>語言</b><b class='flag-5'>調用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺</b><b class='flag-5'>橋</b><b class='flag-5'>接</b>開發指南(Android)BridgePlugin】](https://file1.elecfans.com/web2/M00/E7/F4/wKgZomZNl0GAQxVGAACEfSBEEgo691.png)
鴻蒙ArkUI-X跨平臺開發:【命令行工具(ACE Tools)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發:【命令行工具(ACE Tools)】](https://file1.elecfans.com/web2/M00/E7/65/wKgaomZHTraAVXmkAABqDt1o7NY191.jpg)
鴻蒙ArkUI-X跨平臺開發:【SDK目錄結構介紹】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發:【SDK目錄結構介紹】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙ArkUI-X跨平臺開發:【 應用工程結構說明】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發:【 應用工程結構<b class='flag-5'>說明</b>】](https://file1.elecfans.com/web2/M00/C6/C5/wKgaomYCyYKAZp6HAAB4LWPdpdQ014.jpg)
評論