成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HarmonyOS Codelabs之Js2JavaCodegen JSFA調用PA工具

開發 前端 OpenHarmony
JS FA(Feature Ability)調用PA (Particle Ability)是使用基于JS擴展的類Web開發范式的方舟開發框架所提供的一種跨語言能力調用的機制,用于建立JS能力與Java能力之間傳遞方法調用、處理數據返回以及訂閱事件上報的通道。

[[435106]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

1.介紹

如何用JS FA簡單高效的調用PA能力?如果還不了解FA和PA概念的小伙伴可以點進鏈接去詳細了解一下。

今天使用js2java-codegen工具重新體驗了一把,嗯~,體驗不錯,來做個分享。

官方文檔指導說明:

JS FA(Feature Ability)調用PA (Particle Ability)是使用基于JS擴展的類Web開發范式的方舟開發框架所提供的一種跨語言能力調用的機制,用于建立JS能力與Java能力之間傳遞方法調用、處理數據返回以及訂閱事件上報的通道。開發者可以使用FA調用PA機制進行應用開發,但直接使用該機制需要開發者手動撰寫大量模板代碼,且模板代碼可能與業務代碼相互耦合,使得代碼可維護性和可讀性較差。

想要提升開發效率,開發者可以在DevEco Studio環境中借助js2java-codegen工具自動生成JS FA調用PA代碼(目前僅支持InternalAbility調用方式),快速完成FA調用PA應用的開發。

接下來,通過一個簡易計算器的實例(界面JS FA實現)看一下JS FA調用PA的開發步驟。

2.效果展示

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

3.搭建環境

安裝DevEco Studio,詳情請參考DevEco Studio下載

設置DevEco Studio開發環境,DevEco Studio開發環境需要依賴于網絡環境,需要連接上網絡才能確保工具的正常使用,可以根據如下兩種情況來配置開發環境:

如果可以直接訪問Internet,只需進行下載HarmonyOS SDK操作。

如果網絡不能直接訪問Internet,需要通過代理服務器才可以訪問,請參考配置開發環境

下載源碼后,使用DevEco Studio 打開項目,模擬器運行即可。

真機運行需要將config.json中的buddleName修改為自己的,如果沒有請到AGC上進行配置,參見 使用模擬器進行調試

4.項目結構

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

5.步驟講解

5.1 配置js2java-codegen工具

工具會根據開發者提供的Java源碼生成JS與Java兩種語言的模板代碼,其中Java模板代碼用戶無需關心,而JS模板代碼需要用戶手動調用,因此用戶需要自主設置JS模板代碼的生成路徑。該參數位于ohos -> defaultConfig中,只需添加如下設置即可。

1.配置js代碼存放路徑 ----2.配置該工具開關

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

5.2 創建PA服務類,實現提供的服務接口

1.創建計算服務類(CalculateService.java) 并添加注解

注解有主要有3個,

@InternalAbility注解

類注解,用于被使用作InternalAbility的、包含實際業務代碼的類(簡稱InternalAbility類)。只支持文件中public的頂層類,不支持接口類和注解類。包含一個參數:registerTo,值為需要注冊到的Ability類全名。

@ExportIgnore注解

方法注解,用于InternalAbility類中的某些方法,表示該方法不暴露給JS側來調用。僅對public方法有效。

@ContextInject注解

用于AbilityContext上的注解。該類由HarmonyOS的Java API提供,開發者可通過它獲取API中提供的信息。我們一些功能可能會用到上下文,這個注解幫我們把上下文自動注入進來了。

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

2.實現提供的服務接口

見上圖calculateResult函數。

5.3 調用工具編譯生成代碼

編譯方法:Build–Build Haps(s)/App(s)----Build Haps(s)

生成的代碼有兩份,一份Java代碼(CalculateServiceStub.java)

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

一份JS代碼在上面配置的目錄(CalculateService.js)

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

*// This file is automatically generated. Do not modify it!

5.4 編寫JS 代碼完成調用

1.在index.js 中引用生成的FA接口類 —2.創建FA接口實例----3.調用對應方法

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

5.5 編寫頁面布局代碼(index.hml)

HarmonyOS Codelabs 之 Js2javaCodegen JSFA調用PA工具-鴻蒙HarmonyOS技術社區

6.思考總結

1.通過js2java-codegen工具,讓js FA調用PA思路變的清晰,注解很簡單,生成代碼也很便捷。

2.完成業務功能,不用去關注生成的代碼。

7.完整代碼

附件可以直接下載

https://harmonyos.51cto.com/resource/1495

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-02-24 16:00:59

Ability鴻蒙JS

2022-02-17 21:28:08

AbilityJSFA鴻蒙

2022-02-17 21:19:35

JSFA操作系統鴻蒙

2022-02-17 21:05:26

AbilityJS FAJava PA

2021-09-10 15:13:41

鴻蒙HarmonyOS應用

2021-10-27 10:05:55

鴻蒙HarmonyOS應用

2022-03-07 14:58:10

ArkUIJS FAJava

2021-12-20 10:07:39

鴻蒙HarmonyOS應用

2022-06-02 14:27:05

UI框架JS

2021-07-16 09:54:49

鴻蒙HarmonyOS應用

2021-03-02 09:29:29

鴻蒙HarmonyOS應用開發

2021-05-07 09:35:30

鴻蒙HarmonyOS應用

2021-07-23 16:22:58

鴻蒙HarmonyOS應用

2021-09-18 09:57:20

鴻蒙HarmonyOS應用

2021-07-08 09:42:04

鴻蒙HarmonyOS應用

2023-04-04 10:09:09

2021-09-14 09:34:05

鴻蒙HarmonyOS應用

2023-05-29 16:51:06

2020-09-11 14:31:04

華為HDC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本污视频 | 超碰人人人人 | 久久99网 | 国产精品欧美一区二区 | 亚洲免费大片 | 一区二区日韩 | 国产精品自拍视频 | 天天爱爱网| 欧美在线色 | 视频在线亚洲 | 6996成人影院网在线播放 | 亚洲午夜精品久久久久久app | 在线观看黄免费 | 国产精品亚洲精品久久 | 91av小视频| 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 国产午夜精品一区二区三区嫩草 | av中文字幕在线 | 国产精品久久久久久238 | 欧美精品一区二区三区在线播放 | 一区二区成人在线 | 人人鲁人人莫人人爱精品 | 99精品国产在热久久 | 久久大陆| 欧美性网| 国产精品18毛片一区二区 | 国产精品久久久久久婷婷天堂 | 在线婷婷 | 国产精品国产a级 | 国产一区免费视频 | 成人在线视频网 | 久久国产传媒 | 国产a区| 午夜小视频在线观看 | 亚洲国产精品激情在线观看 | 国产亚洲www | 久艹网站 | www日本高清视频 | 亚洲日日 | 久久久精| 欧美成人免费在线 |