在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

鴻蒙開(kāi)發(fā)學(xué)習(xí):【OpenHarmony HAR】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-18 16:27 ? 次閱讀

OpenHarmony js/ts三方庫(kù)使用的是OpenHarmony靜態(tài)共享包,即HAR(Harmony Archive),可以包含js/ts代碼、c++庫(kù)、資源和配置文件。通過(guò)HAR,可以實(shí)現(xiàn)多個(gè)模塊或者多個(gè)工程共享ArkUI組件、資源等相關(guān)代碼。HAR不同于HAP,不能獨(dú)立安裝運(yùn)行在設(shè)備上,只能作為應(yīng)用模塊的依賴(lài)項(xiàng)被引用。

如何安裝OpenHarmony HAR

引用三方HAR,包括從倉(cāng)庫(kù)進(jìn)行安裝和從本地庫(kù)模塊中進(jìn)行安裝兩種方式。

引用倉(cāng)庫(kù)安裝的HAR:

引用ohpm倉(cāng)中的HAR,首先需要設(shè)置三方HAR的倉(cāng)庫(kù)信息,DevEco Studio默認(rèn)倉(cāng)庫(kù)地址是[ohpm],如果您想設(shè)置自定義倉(cāng)庫(kù),請(qǐng)?jiān)贒evEco Studio的Terminal窗口執(zhí)行如下命令進(jìn)行設(shè)置(執(zhí)行命令前,請(qǐng)確保將DevEco Studio中ohpm安裝地址配置在“環(huán)境變量-系統(tǒng)變量-PATH”中):

ohpm config set registry=your_registry1,your_registry2

說(shuō)明:ohpm支持多個(gè)倉(cāng)庫(kù)地址,采用英文逗號(hào)分隔。 然后通過(guò)如下兩種方式設(shè)置三方包依賴(lài)信息:

  • 方式一:在Terminal窗口中,執(zhí)行如下命令安裝三方包,DevEco Studio會(huì)自動(dòng)在工程的oh-package.json5中自動(dòng)添加三方包依賴(lài)。
ohpm install @ohos/lottie
  • 方式二:在工程的oh-package.json5中設(shè)置三方包依賴(lài),配置示例如下:
"dependencies": { "@ohos/lottie": "^2.0.0"}

依賴(lài)設(shè)置完成后,需要執(zhí)行ohpm install命令安裝依賴(lài)包,依賴(lài)包會(huì)存儲(chǔ)在工程的oh_modules目錄下。

ohpm install

引用本地庫(kù)模塊的文件和資源:

  • 方式一:在Terminal窗口中,執(zhí)行如下命令進(jìn)行安裝,并會(huì)在oh-package5.json中自動(dòng)添加依賴(lài)。
ohpm install ../library
  • 方式二:在工程的oh-package.json5中設(shè)置三方包依賴(lài),配置示例如下:
"dependencies": {
   "@ohos/library": "file:../library"
}

依賴(lài)設(shè)置完成后,需要執(zhí)行ohpm install命令安裝依賴(lài)包,依賴(lài)包會(huì)存儲(chǔ)在工程的oh_modules目錄下。

ohpm install

在引用OpenHarmony HAR時(shí),請(qǐng)注意以下事項(xiàng):

  • 當(dāng)前只支持在模塊和工程下的oh-package.json5文件中聲明dependencies依賴(lài),才會(huì)被當(dāng)做OpenHarmony依賴(lài)使用,并在編譯構(gòu)建過(guò)程中進(jìn)行相應(yīng)的處理。
  • 引用的模塊的compileSdkVersion不能低于其依賴(lài)的OpenHarmony ohpm三方包(可在oh_modules目錄下,找到引用的ohpm包的src > main > module.json5 中查看)。

引用OpenHarmony HAR hml頁(yè)面

在JS工程范式中,組件功能由hml承載,開(kāi)發(fā)者可以在JS工程的hml頁(yè)面通過(guò)標(biāo)簽來(lái)引入OpenHarmony HAR中的共享hml頁(yè)面,示例如下:

< element name="comp" src="http://m.xsypw.cn/images/chaijie_default.png" >< /element >

其中,@ohos/library為OpenHarmony HAR的包名,hml頁(yè)面的路徑為OpenHarmony HAR中的相對(duì)路徑。
隨后便可以通過(guò)設(shè)置的name來(lái)使用該element元素,以引用OpenHarmony HAR中的hml頁(yè)面,示例如下:

< element name="comp" src="http://m.xsypw.cn/images/chaijie_default.png" >< /element >

< div class="container" >
   < comp >< /comp >
   < text class="title" >
      {{ $t('strings.hello') }} {{ title }}
   < /text >
< /div >

引用OpenHarmony HAR ArkTS頁(yè)面

ArkTS是TypeScript的擴(kuò)展,因此導(dǎo)出和引入的語(yǔ)法與TypeScript一致。在OpenHarmony ohpm模塊中,可以通過(guò)export導(dǎo)出ArkTS頁(yè)面,示例如下:

// library/src/main/ets/components/MainPage/MainPage.ets
@Entry
@Component
export struct MainPage {
   @State message: string = 'Hello World'
   build() { 
      Row() { 
         Column() { 
            Text(this.message)
            .fontSize(50)
            .fontWeight(FontWeight.Bold)
         } 
         .width('100%') 
      } .height('100%') 
   }
}

然后在其它模塊中通過(guò)import引入導(dǎo)出的ArkTS頁(yè)面,示例如下所示:

// entry/MainAbility/pages/index.ets

import { MainPage } from "@ohos/library"
@Entry
@Component
struct Index {
   @State message: string = 'Hello World' 
   build() { 
      Column() { 
         MainPage() 
         Row() { 
            Text(this.message)
            .fontSize(50)
            .fontWeight(FontWeight.Bold)
         }
         .width('100%')
      } 
      .height('10%') 
   }
}

引用OpenHarmony HAR內(nèi)ts/js方法ts/js方法的導(dǎo)出和引用,與ArkTS頁(yè)面的引用相同,即在OpenHarmony ohpm模塊中,可以通過(guò)export導(dǎo)出ts/js方法,示例如下所示:

// library/index.js
export function func() {
   return "[ohpm] func1";
}

然后在其它的ts/js頁(yè)面中,通過(guò)import引入導(dǎo)出的ts/js方法,示例如下所示:

// entry/src/main/js/MainAbility/pages/index/index.js
import {func} from "@ohos/library"
export default {
   data: {
      title: ""
   },
   onInit() {
      this.title = func();
   }
}

引用OpenHarmony HAR內(nèi)資源支持在OpenHarmony ohpm模塊和依賴(lài)OpenHarmony ohpm的模塊中引用OpenHarmony ohpm模塊內(nèi)的資源。例如在OpenHarmony ohpm模塊的scr/main/resources里添加字符串資源(在string.json中定義,name:hello_ohpm)和圖片資源(icon_ohpm.png)。然后在Entry模塊中引用該字符串資源和圖片資源的示例如下: 當(dāng)前暫不支持類(lèi)Web范式引用i18n文件中的國(guó)際化資源。

// entry/src/main/ets/MainAbility/pages/index.ets
@Entry
@Component
struct Index {
   @State message: string = 'Hello World'
   build() {
      Column() {
         Row() {
            Text($r("app.string.hello_ohpm")) // 字符串資源
              .fontSize(40)
              .fontWeight(FontWeight.Bold)
         }
         .width('50%')
         Image($r("app.media.icon_ohpm")) // 圖片資源
      }
      .height('100%')
   }
}

在編譯構(gòu)建HAP中,DevEco Studio會(huì)從HAP模塊及依賴(lài)的模塊中收集資源文件,如果不同模塊的相同限定詞目錄下的資源文件出現(xiàn)重名沖突時(shí),DevEco Studio會(huì)按照以下優(yōu)先級(jí)進(jìn)行覆蓋(優(yōu)先級(jí)由高到低):

  • AppScope(僅API 9的Stage模型支持)
  • HAP包自身模塊
  • 依賴(lài)的OpenHarmonyHarmony ohpm模塊

審核編輯 黃宇

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

    關(guān)注

    59

    文章

    2545

    瀏覽量

    43842
  • OpenHarmony
    +關(guān)注

    關(guān)注

    28

    文章

    3841

    瀏覽量

    18269
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙開(kāi)發(fā)OpenHarmony組件復(fù)用案例

    ) } }, item => item) } } } 本文主要是對(duì)鴻蒙開(kāi)發(fā)基礎(chǔ)當(dāng)中的OpenHarmony技術(shù)組件復(fù)用示例, 更多鴻蒙開(kāi)發(fā)
    發(fā)表于 01-15 17:37

    鴻蒙不再兼容安卓,那么鴻蒙開(kāi)發(fā)者是否會(huì)大增?

    鴻蒙技術(shù),享受藍(lán)海紅利。 鴻蒙的技術(shù)技能體系是怎么的?其實(shí)鴻蒙的板塊內(nèi)容也是居多的,可以用一張鴻蒙開(kāi)發(fā)
    發(fā)表于 01-31 22:17

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開(kāi)發(fā):【短信服務(wù)】

    ://gitee.com/openharmony/applications_app_samples.git git pull origin master ? 最后呢,很多開(kāi)發(fā)朋友不知道需要學(xué)習(xí)那些
    發(fā)表于 03-03 21:29

    鴻蒙OpenHarmony南向/北向快速開(kāi)發(fā)教程-迅為RK3568開(kāi)發(fā)

    4.1學(xué)習(xí)之旅了嗎?快來(lái)加入我們,一起探索鴻蒙4.1系統(tǒng)的無(wú)限魅力吧! 【北京迅為】OpenHarmony學(xué)習(xí)開(kāi)發(fā)系列教程(第1期 北向基礎(chǔ)
    發(fā)表于 07-23 10:44

    鴻蒙Flutter實(shí)戰(zhàn):07混合開(kāi)發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開(kāi)發(fā) 鴻蒙Flutter混合開(kāi)發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00

    開(kāi)發(fā)者如何快速加入鴻蒙生態(tài)?(學(xué)習(xí)方法+職業(yè)定位)

    HarmonyOS/OpenHarmony開(kāi)發(fā)者們?cè)?b class='flag-5'>學(xué)習(xí)、成長(zhǎng)中對(duì)自己的準(zhǔn)確的定位,包括個(gè)人開(kāi)發(fā)者、企業(yè)開(kāi)發(fā)者、各個(gè)不同職能的
    發(fā)表于 11-10 16:04

    openharmony鴻蒙有什么關(guān)系

    平板、手機(jī)、智能家居都可以通過(guò)建房子搭積木的方式來(lái)使用鴻蒙系統(tǒng)。 openharmony鴻蒙之間屬于相輔相成的,可以說(shuō)openharmony就是建設(shè)
    的頭像 發(fā)表于 06-22 16:02 ?1.3w次閱讀

    華為openharmony鴻蒙 2.0

    華為openharmony鴻蒙 2.0 IT之家 5 月 17 日消息 微博博主 @釗哥科普 此前爆料,華為鴻蒙 OpenHarmony 2.0 從 5 月 16 日開(kāi)始開(kāi)源,關(guān)鍵代碼
    的頭像 發(fā)表于 06-21 20:13 ?2268次閱讀

    openharmony鴻蒙的區(qū)別是什么

    我們都知道,華為鴻蒙系統(tǒng)華為是開(kāi)源了的,開(kāi)源項(xiàng)目叫做OpenHarmony 2.0,那么這個(gè)開(kāi)源的OpenHarmony 2.0與華為自家使用的鴻蒙HarmonyOS 2,又有什么區(qū)別
    的頭像 發(fā)表于 06-23 11:53 ?1.1w次閱讀

    如何在開(kāi)源鴻蒙OpenHarmony開(kāi)啟SELinux模式?RK3566鴻蒙開(kāi)發(fā)板演示

    本文介紹開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,開(kāi)啟/關(guān)閉SELinux權(quán)限的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新Open
    的頭像 發(fā)表于 11-18 19:03 ?786次閱讀
    如何在開(kāi)源<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開(kāi)啟SELinux模式?RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>板演示

    OpenHarmony怎么修改DPI密度值?觸覺(jué)智能RK3566鴻蒙開(kāi)發(fā)板演示

    開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval
    的頭像 發(fā)表于 12-24 11:46 ?657次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺(jué)智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>板演示

    OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開(kāi)發(fā)板演示

    本文介紹瑞芯微主板/開(kāi)發(fā)板編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示。搭載了瑞芯微RK3566四核處理器,樹(shù)莓派卡片電腦設(shè)計(jì),支持開(kāi)
    的頭像 發(fā)表于 12-30 10:08 ?720次閱讀
    <b class='flag-5'>OpenHarmony</b>源碼編譯后燒錄鏡像教程,RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>板演示

    鴻蒙北向開(kāi)發(fā)OpenHarmony4.1 DevEco Studio開(kāi)發(fā)工具安裝與配置

    OpenHarmony4.1 DevEco Studio開(kāi)發(fā)工具安裝與配置,鴻蒙北向開(kāi)發(fā)入門(mén)必備!
    的頭像 發(fā)表于 02-07 17:35 ?688次閱讀
    <b class='flag-5'>鴻蒙</b>北向<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>OpenHarmony</b>4.1 DevEco Studio<b class='flag-5'>開(kāi)發(fā)</b>工具安裝與配置

    鴻蒙北向開(kāi)發(fā)OpenHarmony5.0 DevEco Studio開(kāi)發(fā)工具安裝與配置

    本文介紹OpenHarmony5.0 DevEco Studio開(kāi)發(fā)工具安裝與配置,鴻蒙北向開(kāi)發(fā)入門(mén)必備!由觸覺(jué)智能Purple Pi OH鴻蒙
    的頭像 發(fā)表于 03-28 18:05 ?691次閱讀
    <b class='flag-5'>鴻蒙</b>北向<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>OpenHarmony</b>5.0 DevEco Studio<b class='flag-5'>開(kāi)發(fā)</b>工具安裝與配置

    開(kāi)源鴻蒙開(kāi)發(fā)必備!OpenHarmony替換Full SDK全攻略

    本文介紹開(kāi)源鴻蒙OpenHarmony替換FullSDK的方法,演示設(shè)備為觸覺(jué)智能PurplePiOH鴻蒙開(kāi)發(fā)板獲取FullSD
    的頭像 發(fā)表于 06-06 18:11 ?164次閱讀
    開(kāi)源<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>必備!<b class='flag-5'>OpenHarmony</b>替換Full SDK全攻略
    主站蜘蛛池模板: 欧美亚洲h在线一区二区 | 开心激情小说 | 欧美一级别 | 国产片翁熄系列乱在线视频 | 黄 色 免 费 网站在线观看 | 国产三级在线观看免费 | 色视频欧美 | 视频一区二区在线播放 | 天天摸天天操免费播放小视频 | 欧美xingai| 亚洲一区毛片 | 国产成人精品三级在线 | 在线播放一区二区三区 | 性做久久久久久久免费观看 | 免费拍拍视频 | 成人综合色站 | 深夜一级毛片 | 欧美一二| 免费爱爱视频网站 | 色婷婷激情五月 | 免费在线黄色网址 | 国产普通话一二三道 | 关晓彤被调教出奶水的视频 | 极品国产一区二区三区 | 久青草视频在线 | 免费看特级淫片日本 | 噜噜色综合 | 天天操人人干 | 狠狠干.com | 天天干天天操天天操 | 午夜剧场黄 | 无遮挡很爽很污很黄在线网站 | 日本吻胸抓胸激烈视频网站 | 色多多最新地址福利地址 | 日日爱网站 | 免看一级a毛片一片成人不卡 | 天堂网在线资源 | 午夜一级毛片 | 男女交性视频播放 视频 视频 | 国产综合色在线视频区色吧图片 | 色综合一区二区三区 |