har引用图片 显示失败 HarmonyOS 鸿蒙Next
har引用图片 显示失败 HarmonyOS 鸿蒙Next
在har模块代码中添加了一个图片,名字是Scan,每一次运行都说是没有找到,我换了图片也说没有找到,但是这个里面的background和cart1却可以访问(这两个图片是我去别的模块的复制粘贴过来的,我试了我把Scan放在其他模块,复制粘贴过去,还是不行的)
我明明有这个图片,就是不能访问,是怎么回事呀
您好,跨HAP/HSP包应用资源的访问可以参考以下方式。
bundle相同,跨module访问:
方式一: 通过createModuleContext(moduleName)
接口创建同应用中不同module的上下文,获取resourceManager
对象后,调用不同接口访问不同资源。
getContext(this).createModuleContext(moduleName).resourceManager.getStringByNameSync('app.string.XXX')
方式二:通过$r
或$rawfile
引用资源(api12支持的能力)。
[hsp].type.name
获取资源。其中,hsp为hsp模块名,type为资源类型,name为资源名称。
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'))
- 使用变量获取资源。
@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包资源无法提供编译时的资源校验,需要开发者自行保证使用资源存在于对应包中。
- 以上是初步分析结论,如有疑问可以展开回复,看到后会继续协助定位阻碍点。
- 开源网站上收录了UI、系统接口、Web、创新特性等场景化鸿蒙示例DEMO,开发中可以参考:https://gitee.com/scenario-samples/demo-index
更多关于har引用图片 显示失败 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
把这两块写到dependencies下就可以了
针对“har引用图片 显示失败 HarmonyOS 鸿蒙Next”的问题,这里提供可能的解决方案,不涉及Java和C语言内容:
在HarmonyOS应用开发中,如果遇到HAR(可能是指HTML Archive或某种资源引用格式,但HarmonyOS官方文档中未直接提及HAR,此处假设为资源引用问题)引用图片显示失败的情况,通常可能是由于以下几个原因:
-
路径错误:检查图片资源的路径是否正确,确保HAR文件中引用的路径与实际资源存储路径一致。
-
资源未正确打包:确保图片资源已被正确打包进应用安装包中,且HAR文件能够正确访问到这些资源。
-
权限问题:检查应用是否有足够的权限访问指定的资源文件,特别是在涉及文件系统访问时。
-
资源格式不支持:确认图片格式是否被HarmonyOS支持,某些特殊格式可能导致显示失败。
-
缓存问题:尝试清除应用缓存或重新安装应用,以解决可能的缓存导致的问题。
-
代码错误:检查HAR文件及其引用代码是否有语法错误或逻辑错误。
如果以上方法均无法解决问题,请检查HarmonyOS的官方文档或社区论坛,看是否有其他开发者遇到并解决了类似的问题。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。