HarmonyOS 鸿蒙Next如何访问本模块和hsp以及hap的模块的资源

HarmonyOS 鸿蒙Next如何访问本模块和hsp以及hap的模块的资源 首先 在本模块下方面资源可以用 $r$rawfile 方式引用,

对于 "color""float""string""plural""media""profile" 等类型的资源,通过 "$r('app.type.name')" 形式引用。其中,app 为 resources 目录中定义的资源;type 为资源类型或资源的存放位置;name 为资源名,开发者定义资源时确定。

对于 rawfile 目录资源,通过 "$rawfile('filename')" 形式引用

如果在代码中使用可以用:<strong>getContext.resourceManager.getStringByNameSync('XX')</strong> 可获取字符串资源;

跨 HAP/HSP 包应用资源

bundle 相同,跨 module 访问

首先:通过 createModuleContext(moduleName) 接口创建同应用中不同 module 的上下文,获取 resourceManager 对象后,调用不同接口访问不同资源。

通过 "$r""$rawfile" 引用资源。具体操作如下:其中 [hsp] 中的 hsp 是模块的名字

  1. Text($r('[hsp].string.test_string'))
  2. .fontSize($r('[hsp].float.font_size'))
  3. .fontColor($r('[hsp].color.font_color'))
  4. Image($rawfile('[hsp].icon.png'))
  5. 备注:hsp 包名必须写在 [] 内,rawfile 下有多层目录,需要从 rawfile 下面第一个目录开始写,
  6. \$rawfile('[hsp].oneFile/twoFile/icon.png')
  7. 使用 "$r""$rawfile" 跨包访问 HSP 包资源无法提供编译时的资源校验,需要开发者自行保证使用资源存在于对应包中。

更多关于HarmonyOS 鸿蒙Next如何访问本模块和hsp以及hap的模块的资源的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next如何访问本模块和hsp以及hap的模块的资源的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,访问本模块以及HSP(HarmonyOS Service Package)和HAP(HarmonyOS Ability Package)模块的资源,通常涉及以下步骤:

  1. 本模块资源访问

    • 直接通过资源ID访问。在鸿蒙的Resource Table(资源表)中定义资源后,使用相应的API(如$r或资源加载函数)访问。
  2. HSP模块资源访问

    • 若HSP模块已正确集成,并且资源已暴露给外部使用,可通过模块提供的接口或API访问这些资源。通常,这需要在模块间通信时,由HSP模块明确提供资源访问的接口。
  3. HAP模块资源访问

    • HAP模块间的资源访问,一般通过Ability间的Intent传递资源URI或路径来实现。接收方Ability再根据URI或路径加载资源。
    • 若资源是全局共享的,如存放在公共存储区域,可通过文件路径直接访问。

注意,具体实现方式可能因鸿蒙系统版本、项目架构及资源管理方式的不同而有所差异。确保遵循鸿蒙的官方文档和最佳实践进行开发。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部