星球的眼睛 发表于 前天 02:21

鸿蒙NEXT版实战开辟:如何跨模块访问HSP/HAR包中resources目录的element目录、media目录和rawfile目录资源文件?

往期鸿蒙全套实战文章必看:(附带鸿蒙全栈学习资料)



[*] 鸿蒙开辟焦点知识点,看这篇文章就够了
[*] 最新版!鸿蒙HarmonyOS Next应用开辟实战学习路线
[*] 鸿蒙HarmonyOS NEXT开辟技能最全学习路线指南
[*] 鸿蒙应用开辟实战项目,看这一篇文章就够了(部分项目附源码)
如何跨模块访问HSP/HAR包中resources目录的element目录、media目录和rawfile目录资源文件

可以通过以下几种方式访问HSP/HAR里面的资源:


[*]通过createModuleContext(moduleName)接口创建同应用中不同module的上下文,获取resourceManager对象后,调用不同接口访问不同资源。 比方:getContext.createModuleContext(moduleName).resourceManager.getStringByNameSync('app.string.xxx')。
[*]通过"$r"或"$rawfile"引用资源,比方:Text($r('.string.test_string')),其中“hsp”为HSP包模块/HAR包模块的名称。       阐明
    在HarmonyOS NEXT Developer Beta1及以上版本支持直接通过"$r"或"$rawfile"引用HSP大概HAR包的资源。


[*]通过HSP包下实现一个资源管理类,以封装对外导出的资源。 HAP中访问HAR包中resources目录的rawfile原始文件资源。
比方在HAR包(不妨设名称为library)的“\library\src\main\resources\rawfile”目录中有“iconHar.png”文件。

[*]在HAR包中将rawfile目录下的“iconHar.png”文件封装成一个方法,比方在“\library\src\main\ets\components\mainpage\MainPage.ets”文件中封装一个方法。 export function rawFileIconHarPng() {
return $rawfile('iconHar.png');
}
[*]在“\library\Index.ets”文件中导出rawFileIconHarPng()方法。 export { rawFileIconHarPng } from './src/main/ets/components/mainpage/MainPage';
[*]在HAP中的“entry\src\main\ets\pages\Index.ets”文件中通过导入rawFileIconHarPng()方法后直接使用即可。 import { rawFileIconHarPng } from 'library';

@Entry
@Component
struct Index {
build() {
    Row() {
      Column() {
      Image(rawFileIconHarPng())
          .width(100)
          .height(100)
      }
      .width('100%')
    }
    .height('100%')
}
}

https://i-blog.csdnimg.cn/direct/5be73c96555f4ad39cb84daabe28288e.png​

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 鸿蒙NEXT版实战开辟:如何跨模块访问HSP/HAR包中resources目录的element目录、media目录和rawfile目录资源文件?