解决痛点!鸿蒙资源管理开发常见问题

567 篇文章 7 订阅
555 篇文章 0 订阅

如何读取rawfile中的xml文件并转化为String类型(API 9)

解决措施

通过resourceManager的getRawFileContent接口获取xml数据,再通过String.fromCharCode将获取的数据转化为String类型。

代码示例

resourceManager.getRawFileContent('test.xml', (error, value) => {
  if (error != null) {
    console.log("error is " + error);
  } else {
    let rawFile = value;
    let xml = String.fromCharCode.apply(null, rawFile)
  }
});

Stage模型下如何获取资源(API 9)

解决措施

Stage模型支持了通过context获取resourceManager对象的方式,再调用其内部获取资源的接口,无需再导入包。此方式不适用于FA模型。

代码示例

const context = getContext(this) as any
context 
  .resourceManager
  .getString($r('app.string.entry_desc').id)
  .then(value => {
    this.message = value.toString()
})

如何通过接口获取resource目录的路径(API 9)

问题现象

希望获取resource目录的路径,从而使用文件管理接口操作文件。

解决措施

由于应用以hap形式进行安装,安装完成后不会解压hap包,所以在程序运行时无法获取resource路径。

可以考虑如下两种方式获取资源文件:

  1. 使用$r或者$rawfile访问。适合静态访问,程序运行时不改变资源路径。

  2. 使用ResourceManage访问。适合动态访问,程序运行时可动态改变资源路径。

资源管理内的getPluralString方法获取value值有误(API 9)

问题现象

getPluralString接口获取value值有误,显示复数值(other)。

解决措施

getPluralString接口只支持英文系统,不支持中文。

如何获取resources目录中自定义的string字段(API 9)

解决措施

使用ResourceManager模块的getStringValue方法获取。

AppScope中的资源如图片,文字等如何引用(API 9)

解决措施

通过$r(‘app.type.name’)的形式来引用,type代表资源类型,如color,string,media等,name代表资源命名。

Resource类型如何转为String(API 9)

解决措施

Resource为string支持限定词目录使用this.context.resourceManager.getStringSync($r(‘app.string.test’).id),可以同步转换,不支持$r(‘app.string.test’, 2)方式。

form_config.json文件中是否可以使用$引用常量(API 9)

form_config.json文件中不支持使用$引用常量。

ArkTS如何解析xml文件(API 9)

解决措施

  1. 在rawfile目录下创建如下xml文件**。**

    <?xml version="1.0" encoding="utf-8"?>
    <user>
        <name>Jacky</name>
        <age>18</age>
    </user>
    
  2. 使用resourceManager.getRawFileContent获取xml文件字节数组。

    import resourceManager from '@ohos.resourceManager';
    resourceManager.getRawFileContent("test.xml", (error, value) => {
      if (error != null) {
        console.log("error is " + error);
        return
      }
      let arrayBuffer = value.buffer; // unit8Array
      var xmpParser = new xml.XmlPullParser(arrayBuffer);
      var tagName = ""
      //do something
    }

了解到目前还有很多小伙伴不知道学习鸿蒙需要重点掌握哪些核心要领?


为了帮助大家更深入有效的学习到鸿蒙开发知识点,我特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源, 内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

如果你是一名Android、Java、前端等开发人员、或是刚开始学习鸿蒙开发。想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙星河版学习路线+学习文档+面试题←点击领取,下面是鸿蒙开发的学习路线图。

应用开发中级就业技术

 应用开发中高级就业技术

南北双向高工技能基础

 全网首发-工业级 南向设备开发就业技术

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等.....视频教程

鸿蒙生态应用开发白皮书V2.0PDF

获取完整版白皮书方式请点击:鸿蒙生态应用开发白皮书V2.0PDF (qq.com)

以下也为大家准备了针对鸿蒙成长路线打造的鸿蒙学习文档。《鸿蒙开发学习手册》(共计890页)鸿蒙开发资料等…希望对大家有所帮助:

鸿蒙 (Harmony OS)开发学习手册

一、入门必看

  1. 应用开发导读(ArkTS)
  2. ……

二、HarmonyOS 概念

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全
  5. ........

三、如何快速入门?

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

四、开发基础知识

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

五、基于ArkTS 开发

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

更多了解更多鸿蒙开发的相关知识可以参考:鸿蒙星河版学习路线+学习文档+面试题

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值