0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkUI-X跨語言調(diào)用說明:【平臺(tái)橋接(@arkui-x.bridge)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-21 15:09 ? 次閱讀

平臺(tái)橋接(@arkui-x.bridge)

簡(jiǎn)介

平臺(tái)橋接用于客戶端(ArkUI)和平臺(tái)(AndroidiOS)之間傳遞消息,即用于ArkUI與平臺(tái)雙向數(shù)據(jù)傳遞、ArkUI側(cè)調(diào)用平臺(tái)的方法、平臺(tái)調(diào)用ArkUI側(cè)的方法。

以Android平臺(tái)為例,ArkTS和Java沒有相互調(diào)用的能力,為了實(shí)現(xiàn)ArkTS和Java交互,需要ArkTS與C++交互,C++再與Java交互,反之亦然。但是對(duì)于開發(fā)者,就像是ArkTS和Java直接交互。

本文介紹如何通過平臺(tái)橋接編寫自定義的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中沒有對(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)上的三方庫等;
3、平臺(tái)調(diào)用ArkUI側(cè)的方法,如復(fù)用JavaScript的三方庫等。

說明
開發(fā)前請(qǐng)熟悉鴻蒙開發(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)功能可直接通過已有的[OpenHarmony跨平臺(tái)API]實(shí)現(xiàn)。

數(shù)據(jù)類型支持

平臺(tái)橋接通過JSON格式序列化編解碼傳遞數(shù)據(jù),支持基礎(chǔ)數(shù)據(jù)類型、數(shù)組類型和結(jié)構(gòu)化數(shù)據(jù)。具體支持類型如下表:

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及其對(duì)應(yīng)的數(shù)組類型; Map類型僅支持string類型的key,且僅用于方法返回。

搜狗高速瀏覽器截圖20240326151547.png

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3939

    瀏覽量

    127624
  • 橋接
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    11250
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2377

    瀏覽量

    42922
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ArkUI-X開發(fā)指南:【SDK配置和構(gòu)建說明

    ArkUI-X SDK是ArkUI-X開源項(xiàng)目的編譯產(chǎn)物,可將ArkUI-X SDK集成到現(xiàn)有Android和iOS應(yīng)用工程中,使開發(fā)者基于一套ArkTS主代碼,就可以構(gòu)建支持多平臺(tái)
    的頭像 發(fā)表于 05-25 16:48 ?2703次閱讀
    <b class='flag-5'>ArkUI-X</b>開發(fā)指南:【SDK配置和構(gòu)建<b class='flag-5'>說明</b>】

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI代碼工程及構(gòu)建介紹】

    ArkUI作為OpenHarmony的默認(rèn)開發(fā)框架,在本項(xiàng)目(ArkUI-X)中需要做到一套代碼同時(shí)支持多平臺(tái)構(gòu)建,所以會(huì)采取共倉開發(fā)的方式,部分倉直接指向OpenHarmony相關(guān)開源倉。
    的頭像 發(fā)表于 05-25 16:45 ?2134次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)<b class='flag-5'>ArkUI-X</b>基礎(chǔ)知識(shí):【<b class='flag-5'>ArkUI</b>代碼工程及構(gòu)建介紹】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺(tái)開發(fā)指南(Android)Bridge API】

    本模塊提供ArkUI端和Android或iOS平臺(tái)端消息通信的功能,包括數(shù)據(jù)傳輸、方法調(diào)用和事件調(diào)用。需配套平臺(tái)端API使用,Android
    的頭像 發(fā)表于 05-25 16:30 ?709次閱讀
    <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'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺(tái)</b><b class='flag-5'>橋</b><b class='flag-5'>接</b>開發(fā)指南(Android)<b class='flag-5'>Bridge</b> API】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺(tái)開發(fā)指南(Android)】

    平臺(tái)用于客戶端(ArkUI)和平臺(tái)(Android或iOS)之間傳遞消息,即用于ArkUI
    的頭像 發(fā)表于 05-25 16:26 ?734次閱讀
    <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'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺(tái)</b><b class='flag-5'>橋</b><b class='flag-5'>接</b>開發(fā)指南(Android)】

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI平臺(tái)設(shè)計(jì)總體說明

    本文檔描述ArkUI開發(fā)框架平臺(tái)運(yùn)行能力相關(guān)的總體技術(shù)方案。
    的頭像 發(fā)表于 05-24 15:41 ?1595次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)<b class='flag-5'>ArkUI-X</b>基礎(chǔ)知識(shí):【<b class='flag-5'>ArkUI</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>設(shè)計(jì)總體<b class='flag-5'>說明</b>】

    鴻蒙ArkUI-X平臺(tái)技術(shù):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI平臺(tái)應(yīng)用開發(fā)的初學(xué)者。通過開發(fā)環(huán)境搭建、應(yīng)用工程創(chuàng)建、編譯和運(yùn)行,熟悉ArkUI
    的頭像 發(fā)表于 05-24 10:40 ?518次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>技術(shù):【開發(fā)準(zhǔn)備】

    鴻蒙ArkUI-X框架開發(fā):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI-X框架開發(fā)的初學(xué)者。通過環(huán)境搭建、代碼下載、代碼編譯、API擴(kuò)展和使用,快速了解平臺(tái)項(xiàng)目開發(fā)流程。
    的頭像 發(fā)表于 05-23 21:02 ?499次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b>框架開發(fā):【開發(fā)準(zhǔn)備】

    鴻蒙ArkUI-X語言調(diào)用說明平臺(tái)差異化【Android、ios動(dòng)態(tài)化】

    ArkUI-X支持動(dòng)態(tài)化,使用者可以根據(jù)自己需要?jiǎng)討B(tài)發(fā)布平臺(tái)內(nèi)容,從而使平臺(tái)部分和宿主應(yīng)用進(jìn)行解耦。
    的頭像 發(fā)表于 05-23 14:38 ?942次閱讀
    <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'>調(diào)用</b><b class='flag-5'>說明</b>:<b class='flag-5'>平臺(tái)</b>差異化【Android、ios動(dòng)態(tài)化】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺(tái)開發(fā)指南(Android)BridgePlugin】

    本模塊提供ArkUI端和Android平臺(tái)端消息通信的功能,包括數(shù)據(jù)傳輸、方法調(diào)用和事件調(diào)用。需配套ArkUI端API使用,
    的頭像 發(fā)表于 05-22 14:52 ?1207次閱讀
    <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'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺(tái)</b><b class='flag-5'>橋</b><b class='flag-5'>接</b>開發(fā)指南(Android)BridgePlugin】

    鴻蒙ArkUI-X平臺(tái)開發(fā):【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項(xiàng)目平臺(tái)應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺(tái)運(yùn)行,用于構(gòu)建OpenHarmony/HarmonyOS
    的頭像 發(fā)表于 05-21 17:39 ?1880次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>開發(fā):【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺(tái)開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI
    的頭像 發(fā)表于 05-20 16:28 ?843次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    鴻蒙ArkUI-X平臺(tái)開發(fā):【 應(yīng)用工程結(jié)構(gòu)說明

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI
    的頭像 發(fā)表于 05-19 21:05 ?617次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>開發(fā):【 應(yīng)用工程結(jié)構(gòu)<b class='flag-5'>說明</b>】

    鴻蒙ArkUI-X平臺(tái)技術(shù):【開發(fā)初體驗(yàn)】

    在DevEco Studio中導(dǎo)入ArkUI-X Sample,快速創(chuàng)建平臺(tái)工程。
    的頭像 發(fā)表于 05-17 15:54 ?695次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>技術(shù):【開發(fā)初體驗(yàn)】

    鴻蒙平臺(tái)框架:【ArkUi-X】創(chuàng)建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個(gè)文章分享一下
    的頭像 發(fā)表于 05-13 17:48 ?1007次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>框架:【<b class='flag-5'>ArkUi-X</b>】創(chuàng)建工程

    鴻蒙開發(fā)學(xué)習(xí):初探【ArkUI-X

    **簡(jiǎn)單來說,ArkTS + ArkUI-X 對(duì)標(biāo)的框架為 flutter,一次代碼,編譯為 native 全平臺(tái)運(yùn)行**
    的頭像 發(fā)表于 05-13 15:58 ?1073次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)學(xué)習(xí):初探【<b class='flag-5'>ArkUI-X</b>】