AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

基于原生的跨模塊資源訪問

來源: 責編: 時間:2024-05-09 17:56:56 156觀看
導讀想了解更多關于開源的內容,請訪問:51CTO 鴻蒙開發者社區https://ost.51cto.com場景一、訪問模塊內資源通過"$r"或"$rawfile"引用資源對于“color”、“float”、“string”、“plural”、“media”、“profile”等類型

xub28資訊網——每日最新資訊28at.com

想了解更多關于開源的內容,請訪問:xub28資訊網——每日最新資訊28at.com

51CTO 鴻蒙開發者社區xub28資訊網——每日最新資訊28at.com

https://ost.51cto.comxub28資訊網——每日最新資訊28at.com

場景一、訪問模塊內資源

通過"$r"或"$rawfile"引用資源

對于“color”、“float”、“string”、“plural”、“media”、“profile”等類型的資源,通過"$r('app.type.name')"形式引用。其中,app為resources目錄中定義的資源;type為資源類型或資源的存放位置;name為資源名,開發者定義資源時確定。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

對于rawfile目錄資源,通過"$rawfile('filename')"形式引用。xub28資訊網——每日最新資訊28at.com

使用$r進行string資源引用。xub28資訊網——每日最新資訊28at.com

Text($r("app.string.mystring"))

在rawfile下的資源可以通過$rawfile+文件名訪問。xub28資訊網——每日最新資訊28at.com

Image($rawfile("img.jpg"))

場景二、跨HAP/HSP包應用資源

bundle相同,跨module訪問

方式一:通過createModuleContext(moduleName)接口創建同應用中不同module的上下文,獲取resourceManager對象后,調用不同接口訪問不同資源。xub28資訊網——每日最新資訊28at.com

getContext(this).createModuleContext(moduleName).resourceManager.getStringByNameSync('app.string.XXX')

方式二:通過"$r"或"$rawfile"引用資源(api12支持的能力)。 1.[hsp].type.name獲取資源。其中,hsp為hsp模塊名,type為資源類型,name為資源名稱。xub28資訊網——每日最新資訊28at.com

Text($r('[hsp].string.test_string'))   .fontSize($r('[hsp].float.font_size'))   .fontColor($r('[hsp].color.font_color')) Image($rawfile('[hsp].oneFile/twoFile/icon.png'))

使用變量獲取資源。xub28資訊網——每日最新資訊28at.com

@Entry @Component struct Index {   text: string = '[hsp].string.test_string';   fontSize: string = '[hsp].float.font_size';   fontColor: string = '[hsp].color.font_color';   image: string = '[hsp].media.string';   rawfile: string = '[hsp].icon.png';      build() {     Row() {       Text($r(this.text))         .fontSize($r(this.fontSize))         .fontColor($r(this.fontColor))              Image($r(this.image))              Image($rawfile(this.rawfile))     }   } }

說明:hsp包名必須寫在[]內,”rawfile“下有多層目錄,需要從”rawfile“下面第一個目錄開始寫,如“$rawfile('[hsp].oneFile/twoFile/icon.png')”,使用"$r"和"$rawfile"跨包訪問HSP包資源無法提供編譯時的資源校驗,需要開發者自行保證使用資源存在于對應包中。xub28資訊網——每日最新資訊28at.com

場景三、HSP包的資源導出引用

創建HSP,新建模塊,選擇shared library。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

導出需要使用的資源。xub28資訊網——每日最新資訊28at.com

導出ResManager1,以便其他模塊獲取到hsp中的resource資源。xub28資訊網——每日最新資訊28at.com

export class ResManager1{   static getPic(): Resource{     return $r('app.media.11');   }   static getDesc(): Resource{     return $r('app.string.shared_desc1');   } }

在模塊下的index.ets導出資源。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

引用資源。xub28資訊網——每日最新資訊28at.com

在引用方模塊的oh-package.json5下添加依賴,執行install。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

Import加載并使用。xub28資訊網——每日最新資訊28at.com

import {ResManager1}from 'hsp' @Entry @Component struct Index {   @State message: string = 'Hello World';      build() {     Row() {       Column() {         Text(ResManager1.getDesc())           .fontSize(50)           .fontWeight(FontWeight.Bold)       }       .width('100%')     }     .height('100%')   } }

場景四、HAR包的資源導出引用

新建模塊,選擇static library。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

export使用的資源,并在模塊下的index.ets導出。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

build出har包。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

Build完成后會在模塊下生成.har文件。xub28資訊網——每日最新資訊28at.com

引用har包,在引用方oh-package.json5下添加依賴,依賴需要到.har文件,執行install。xub28資訊網——每日最新資訊28at.com

xub28資訊網——每日最新資訊28at.com

import 后調用har中的資源。xub28資訊網——每日最新資訊28at.com

import {ResManager}from 'har' @Entry @Component struct Index {   @State message: string = 'Hello World';      build() {     Row() {       Column() {         Image(ResManager.getPic()).width(50)           .fontSize(50)           .fontWeight(FontWeight.Bold)       }       .width('100%')     }     .height('100%')   } }

其他常見問題:xub28資訊網——每日最新資訊28at.com

Q:依賴的多個模塊使用過相同資源后,以哪一個模塊的資源為準? xub28資訊網——每日最新資訊28at.com

A:如果依賴的多個HAR之間有資源沖突,會按照依賴順序進行覆蓋(依賴順序在前的優先級較高)。xub28資訊網——每日最新資訊28at.com

Q:是否可以通過循環變量加載資源? xub28資訊網——每日最新資訊28at.com

A:當前支持通過$r("app.string.name" + 1)拼接的方式加載資源(包括變量拼接的形式),跨模塊的場景也適用。xub28資訊網——每日最新資訊28at.com

想了解更多關于開源的內容,請訪問:xub28資訊網——每日最新資訊28at.com

51CTO 鴻蒙開發者社區xub28資訊網——每日最新資訊28at.com

https://ost.51cto.comxub28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-87681-0.html基于原生的跨模塊資源訪問

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 一篇聊透云原生中的服務網格

下一篇: Next.js 14:全棧開發的新寵?

標簽:
  • 熱門焦點
  • 一加Ace2 Pro官宣:普及16G內存 引領24G

    一加官方今天繼續為本月發布的新機一加Ace2 Pro帶來預熱,公布了內存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領,還有呢?#一加Ace2Pro#,2023 年 8 月,敬請期待。”同時
  • 小米官宣:2023年上半年出貨量中國第一!

    今日早間,小米電視官方微博帶來消息,稱2023年小米電視上半年出貨量達到了中國第一,同時還表示小米電視的巨屏風暴即將開始。“公布一個好消息2023年#小米電視上半年出貨量中國
  • 6月iOS設備性能榜:M2穩居榜首 A系列只能等一手3nm來救

    沒有新品發布,自然iOS設備性能榜的上榜設備就沒有什么更替,僅僅只有跑分變化而產生的排名變動,畢竟蘋果新品的發布節奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 拼多多APP上線本地生活入口,群雄逐鹿萬億市場

    Tech星球(微信ID:tech618)文 | 陳橋輝 Tech星球獨家獲悉,拼多多在其APP內上線了“本地生活”入口,位置較深,位于首頁的“充值中心”內,目前主要售賣美食相關的
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁“充值中心”入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 東方甄選單飛:有些鳥注定是關不住的

    作者:彭寬鴻來源:華爾街科技眼‍‍‍‍‍‍‍‍‍‍東方甄選創始人俞敏洪帶隊的“7天甘肅行”直播活動已在近日順利收官。成立后一
  • 馮提莫簽約抖音公會 前“斗魚一姐”消失在直播間

    來源:直播觀察提起“馮提莫”這個名字,很多網友或許聽過,但應該不記得她是哪位主播了。其實,作為曾經的“斗魚一姐”,馮提莫在游戲直播的年代影響力不輸于現
  • 三星顯示已開始為AR設備研發硅基LED微顯示屏

    7月18日消息,據外媒報道,隨著蘋果首款頭顯產品Vision Pro在6月份正式推出,AR/VR/MR等頭顯產品也就將成為各大公司下一個重要的競爭領域,對顯示屏這一關
Top