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

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

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

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-25 16:30 ? 次閱讀

@arkui-x.bridge.d.ts (平臺橋接)

本模塊提供ArkUI端和AndroidiOS平臺端消息通信的功能,包括數(shù)據(jù)傳輸、方法調(diào)用和事件調(diào)用。需配套平臺端API使用,Android側(cè)請參考[BridgePlugin],iOS側(cè)參考[BridgePlugin]。

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點擊或者復(fù)制轉(zhuǎn)到。
本模塊首批接口從API version 10開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。

導(dǎo)入模塊

import bridge from '@arkui-x.bridge';

createBridge

createBridge(bridgeName: string): BridgeObject

定義BridgeObject類。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

參數(shù)

參數(shù)名類型必填說明
idgeNamestring定義橋接名稱。

返回值:

類型說明
[BridgeObject]橋接的接口類。

示例:

const bridgeObj: BridgeObject = bridge.createBridge('Bridge');

BridgeObject

橋接的接口類。

callMethod

callMethod(methodName: string, parameters?: Record): Promise;

callMethod(methodName: string, ...parameters: Array): Promise;

調(diào)用平臺方法。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

參數(shù):

參數(shù)名類型必填說明
methodNamestring方法名稱。
parametersRecord方法參數(shù)列表。
parametersArray方法參數(shù)列表。

返回值:

類型說明
[ResultValue]平臺方法執(zhí)行結(jié)果。

錯誤碼:

錯誤碼ID錯誤信息
1管道不可用。
4方法名稱錯誤。
5方法正確運行,不能重復(fù)運行。
6方法未實現(xiàn)。

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.callMethod('nativeMethod').then((data)= >{
    console.log('data = ' + data);
}).catch((err) = > {
    console.error('error = ' + JSON.stringify(err));
});

registerMethod

registerMethod(method: MethodData, callback: AsyncCallback): void

registerMethod(method: MethodData): Promise

注冊ArkUI端方法,供Android或iOS平臺端調(diào)用。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

參數(shù):

參數(shù)名類型必填說明
methodMethodData方法數(shù)據(jù)。
callbackAsyncCallbackcallback方式的回調(diào)函數(shù)。

錯誤碼:

錯誤碼ID錯誤信息
1管道不可用。
8方法已經(jīng)被注冊,不允許重復(fù)注冊。

示例:

function jsMethod() {
  return 'ts return:jsMethod';
}

const bridgeObj = bridge.createBridge('Bridge');
bridgeObj.registerMethod({ name: 'jsMethod', method: jsMethod });

unRegisterMethod

unRegisterMethod(methodName: string, callback: AsyncCallback): void

unRegisterMethod(methodName: string): Promise

移除已注冊的ArkUI端的方法。

參數(shù):

參數(shù)名類型必填說明
methodstring方法名稱。
callbackAsyncCallbackcallback方式的回調(diào)函數(shù)。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.unRegisterMethod('jsMethod');

sendMessage

sendMessage(message: Message, callback: AsyncCallback): void

sendMessage(message: Message): Promise

向Platform平臺側(cè)發(fā)送數(shù)據(jù)。

參數(shù):

參數(shù)名類型必填說明
message[Message]數(shù)據(jù)。
callbackAsyncCallbackcallback方式的回調(diào)函數(shù)。

返回值:

類型說明
[Response]Platform平臺側(cè)應(yīng)答數(shù)據(jù)。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.sendMessage('jsMessage').then((data)= >{
    console.log('data =' + data);
}).catch((err) = > {
    console.error('error =' + JSON.stringify(err));
});

setMessageListener

setMessageListener(callback: (message: Message) => Response)

設(shè)置用于接收Platform平臺側(cè)發(fā)送數(shù)據(jù)的回調(diào)。

參數(shù):

參數(shù)名類型HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿必填說明
callback(message: Message)=>Response回調(diào)函數(shù),接收Platform平臺側(cè)數(shù)據(jù)。
message[Message]Platform平臺側(cè)數(shù)據(jù)。

搜狗高速瀏覽器截圖20240326151450.png
系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.setMessageListener((data) = > {
    console.log('receive data =' + data);
});

S

type S = number | boolean | string | null

說明: 定義橋接使用的基礎(chǔ)數(shù)據(jù)類型。

T

type T = S | Array | Array | Array

說明: 定義橋接使用的基礎(chǔ)數(shù)據(jù)類型的數(shù)組類型。

Message

type Message = T | Record

說明: 定義橋接使用結(jié)構(gòu)數(shù)據(jù)類型。

Parameter

type Parameter = Message

說明: 定義方法參數(shù)類型。

Response

type Response = Message

說明: 定義應(yīng)答的數(shù)據(jù)類型。

ResultValue

type ResultValue = T | Map

說明: 定義方法返回值的類型。

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

    關(guān)注

    79

    文章

    1954

    瀏覽量

    29901
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3607

    瀏覽量

    15958
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4346
收藏 人收藏

    評論

    相關(guān)推薦

    Android、iOS、鴻蒙平臺框架ArkUI-X

    Android、iOS、鴻蒙多個平臺上提供生動而流暢的用戶界面體驗。 一、配套關(guān)系 表1 版本軟件和平臺配套關(guān)系 目標(biāo)平臺 項目編譯使用O
    的頭像 發(fā)表于 01-31 14:52 ?1649次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>Android</b>、iOS、<b class='flag-5'>鴻蒙</b>多<b class='flag-5'>平臺</b>框架<b class='flag-5'>ArkUI-X</b>

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

    ACE Tools是一套為ArkUI-X項目平臺應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運行,用于構(gòu)
    的頭像 發(fā)表于 05-21 17:39 ?1419次閱讀
    <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'>開發(fā)</b>:【命令行工具(ACE Tools)】

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

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺,比如Android和iOS
    的頭像 發(fā)表于 05-20 16:28 ?727次閱讀
    <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'>開發(fā)</b>:【SDK目錄結(jié)構(gòu)介紹】

    鴻蒙ArkUI-X平臺開發(fā):【bility開發(fā)說明Android平臺)】

    本文介紹將ArkUI框架擴(kuò)展到Android平臺所需要的必要的類及其使用說明,開發(fā)者基于OpenHarmony,可復(fù)用大部分的應(yīng)用代碼(生命
    的頭像 發(fā)表于 05-21 10:54 ?824次閱讀
    <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'>開發(fā)</b>:【bility<b class='flag-5'>開發(fā)</b><b class='flag-5'>說明</b>(<b class='flag-5'>Android</b><b class='flag-5'>平臺</b>)】

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

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

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

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

    鴻蒙開發(fā)接口公共事件與通知:【FFI能力】 N-APIAndroid、iOS平臺應(yīng)用的使用指導(dǎo)

    N-API接口可以實現(xiàn)ArkTS/TS/JS與C/C++(Native)之間的交互,ArkUI-X中支持的N-API接口情況和使用場景請見[FFI能力(N-API)]。本文檔以[
    的頭像 發(fā)表于 05-25 16:33 ?1739次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口公共事件與通知:【FFI能力】 N-<b class='flag-5'>API</b>在<b class='flag-5'>Android</b>、iOS<b class='flag-5'>平臺</b>應(yīng)用的使用指導(dǎo)

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

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

    資訊速遞 | ArkUI-X 預(yù)覽版已正式開源!

    語言等能力。 ● 對于開發(fā)時所使用的API,都是OpenHarmony生態(tài)的標(biāo)準(zhǔn)API,在平臺
    發(fā)表于 08-11 16:10

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

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

    鴻蒙ArkUI-X平臺技術(shù):【開發(fā)初體驗】

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

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

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

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

    平臺用于客戶端(ArkUI)和平臺Android或iOS)之間傳遞消息,即用于
    的頭像 發(fā)表于 05-21 15:09 ?560次閱讀
    <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'>平臺</b><b class='flag-5'>橋</b><b class='flag-5'>接</b>(@<b class='flag-5'>arkui-x.bridge</b>)】

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

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

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

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