鸿蒙NEXT版实战开辟:如何跨模块访问HSP/HAR包中resources目录的element目 ...

打印 上一主题 下一主题

主题 1304|帖子 1304|积分 3912

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



  • 鸿蒙开辟焦点知识点,看这篇文章就够了
  • 最新版!鸿蒙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('[hsp].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”文件中封装一个方法。
      1. export function rawFileIconHarPng() {
      2.   return $rawfile('iconHar.png');
      3. }
      复制代码
    • 在“\library\Index.ets”文件中导出rawFileIconHarPng()方法。
      1. export { rawFileIconHarPng } from './src/main/ets/components/mainpage/MainPage';
      复制代码
    • 在HAP中的“entry\src\main\ets\pages\Index.ets”文件中通过导入rawFileIconHarPng()方法后直接使用即可。
      1. import { rawFileIconHarPng } from 'library';
      2. @Entry
      3. @Component
      4. struct Index {
      5.   build() {
      6.     Row() {
      7.       Column() {
      8.         Image(rawFileIconHarPng())
      9.           .width(100)
      10.           .height(100)
      11.       }
      12.       .width('100%')
      13.     }
      14.     .height('100%')
      15.   }
      16. }
      复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表