HarmonyOS 鸿蒙Next 在har中如何获取到resource资源

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 在har中如何获取到resource资源

如题:通过以下两种方式获取har中的string的资源,第一种写法直接崩溃;第二种写法可以正确获取,有大佬知道是为啥么?

第一种写法:
let a = getContext(this).resourceManager.getStringByNameSync('app.string.page_show_har');
第二种写法:
let a = getContext(this).resourceManager.getStringSync($r('app.string.page_show_har').id)

更多关于HarmonyOS 鸿蒙Next 在har中如何获取到resource资源的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 在har中如何获取到resource资源的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,如果你在HAR(HarmonyOS Ability Resource)文件中需要获取到resource资源,通常可以通过以下方式实现:

  1. 资源引用:

    • 在你的代码中,可以直接通过资源ID来引用资源。资源ID是在资源文件定义时自动生成的,通常是以模块名和资源类型前缀开头,后跟资源名。
    • 例如,如果你有一个字符串资源strings.xml中定义了<string name="app_name">MyApp</string>,那么在代码中可以通过ResourceTable.String_app_name来获取这个字符串资源。
  2. 加载资源:

    • 对于图片、布局等复杂资源,你需要使用相应的加载方法。例如,加载图片资源可以使用ImageProvider.fromResource方法,并传入资源ID。
    • 加载布局资源时,可以在页面的XML文件中直接引用布局资源,或者在代码中动态加载。
  3. 注意事项:

    • 确保资源文件已正确放置在resources目录下,并且资源ID没有冲突。
    • 不同类型的资源有不同的加载方式,需要根据具体情况选择合适的方法。

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

回到顶部