HarmonyOS鸿蒙学习笔记(27)resources目录说明

resources目录说明

  • 目录结构
  • 目录说明
    • base目录
    • rawfile目录
    • resfile目录
    • 资源组目录
  • 参考资料

目录结构

在HarmonyOS的项目结构中,有resources目录,用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件,详见资源分类与访问。其结构如下:
在这里插入图片描述
项目目录结构如下:

resources
|---base
|   |---element
|   |   |---string.json
|   |---media
|   |   |---icon.png
|   |---profile
|   |   |---test_profile.json
|---en_US  // 默认存在的目录,设备语言环境是美式英文时,优先匹配此目录下资源
|   |---element
|   |   |---string.json
|   |---media
|   |   |---icon.png
|   |---profile
|   |   |---test_profile.json
|---zh_CN  // 默认存在的目录,设备语言环境是简体中文时,优先匹配此目录下资源
|   |---element
|   |   |---string.json
|   |---media
|   |   |---icon.png
|   |---profile
|   |   |---test_profile.json
|---en_GB-vertical-car-mdpi // 自定义限定词目录示例,由开发者创建
|   |---element
|   |   |---string.json
|   |---media
|   |   |---icon.png
|   |---profile
|   |   |---test_profile.json
|---rawfile // 其他类型文件,原始文件形式保存,不会被集成到resources.index文件中。文件名可自定义。
|---resfile // 其他类型文件,原始文件形式保存,不会被集成到resources.index文件中。文件名可自定义。

目录说明

base目录

base目录是默认存在的目录,二级子目录element用于存放字符串、颜色、布尔值等基础元素,media、profile存放媒体、动画、布局等资源文件。目录中的资源文件会被编译成二进制文件,并赋予资源文件ID。通过指定资源类型(type)和资源名称(name)引用。

rawfile目录

支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。
目录中的资源文件会被直接打包进应用,不经过编译,也不会被赋予资源文件ID。通过指定文件路径和文件名引用。

resfile目录

支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。
目录中的资源文件会被直接打包进应用,不经过编译,也不会被赋予资源文件ID。应用安装后,resfile资源会被解压到应用沙箱路径,通过Context属性resourceDir获取到resfile资源目录后,可通过文件路径访问。

资源组目录

资源组目录包括element、media、profile三种类型的资源文件,用于存放特定类型资源。
在这里插入图片描述
比如color.json其值只能是颜色类型的值:

{
    "color": [
        {
            "name": "color_hello",
            "value": "#ffff0000"
        },
        {
            "name": "color_world",
            "value": "#ff0000ff"
        }
    ]
}

如果我将上面color_hello的value改成其他字符串,IDE会自动报错:
在这里插入图片描述

参考资料

资源分类与访问
HarmonyOS鸿蒙学习笔记(26)ArkTS工程目录结构(Stage模型)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/668792.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计网ppt标黄知识点整理第(1)章节——谢希仁版本、期末复习自用

大众熟知的三大网络:电信网络、有线电视网络、计算机网络。发展最快起到核心的是计算机网络。Internet是全球最大、最重要的计算机网络。互联网:流行最广、事实上的标准译名。互连网:把许多网络通过一些路由器连接在一起。与网络相连的计算机…

AI网络爬虫:无限下拉滚动页面的另类爬取方法

现在很多网页都是无限下拉滚动的。可以拉动到底部,然后保存网页为mhtml格式文件。 接着,在ChatGPT中输入提示词: 你是一个Python编程高手,要完成一个关于爬取网页内容的Python脚本的任务,下面是具体步骤: …

C++——list

目录 前言 一、list 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list的迭代器失效 二、list的模拟实现 2.1 模拟实现list 三、list与vector的对比 总结 前言 今天…

LNMP部署及应用

目录 1.LNMP概述 Nginx 特点 Nginx 作用 2.分布式部署LNMP操练 Nginx主机:CentOS 7-1 PHP主机: CentOS 7-2 1.LNMP概述 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行&…

基于广义极大极小凹惩罚的心电信号降噪方法(MATLAB R2021B)

凸优化是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化问题。由于心电信号降噪的过程可以理解为求信号的稀疏近似解,因此基于凸优化和稀疏性表达的去噪方法可用于心电信号处理。在凸优化的数学模型中,惩罚项的选取对最终结果会产生…

LLVM技术在GaussDB等数据库中的应用

目录 LLVM和数据库 LLVM适用场景 LLVM对所有类型的SQL都会有收益吗? LLVM在OLTP中就一定没有收益吗? GaussDB中的LLVM 1. LLVM在华为应用于数据库的时间线 2. GaussDB LLVM实现简析 3. GaussDB LLVM支持加速的场景 支持LLVM的表达式&#xff1a…

python zip()函数(将多个可迭代对象的元素配对,创建一个元组的迭代器)zip_longest()

文章目录 Python zip() 函数深入解析基本用法函数原型基础示例 处理不同长度的迭代器高级用法多个迭代器使用 zip() 与 dict()解压序列 注意事项内存效率:zip() 返回的是一个迭代器,这意味着直到迭代发生前,元素不会被消耗。这使得 zip() 特别…

浅谈SpringBoot配置文件

文章目录 一、配置文件作用二、配置文件分类三、SpringBoot内置的配置文件格式3.1、.properties3.1.1、.properties配置语法3.1.2、.properties读取方式 3.2、.yml/.yaml3.2.1、.yml配置语法3.2.2、.yml读取形式 四、两种配置文件优缺点4.1、.properties4.2、.yml4.2.1、.yml支…

多门店小程序如何给各个门店进行结算

​有些商家业务扩张,会开设多个门店。其中有些门店是直营,有些门店是加盟。如果用一个小程序来涵盖所有门店的业务,那将有助于商家进行统一管理和建立品牌效应。但如何给各个门店进行资金结算,是一个重要的问题,本文将…

探索JavaScript函数---基础篇

目录 函数 声明和调用 声明(定义) 调用 参数 形参和实参 形参(Formal Arguments) 实参(Actual Arguments) 形参与实参的关系 返回值 作用域 全局作用域 局部作用域 匿名函数 函数表达式 立…

无限可能LangChain——开启大模型世界

什么是大语言模型? 大语言模型是一种人工智能模型,通常使用深度学习技术(如神经网络)来理解和生成人类语言。这些模型拥有非常多的参数,可以达到数十亿甚至更多,使得它们能够处理高度复杂的语言模式。 我…

【网络安全】Web安全基础 - 第二节:前置基础知识- HTTP协议,握手协议,Cookie及Session

本章节主要介绍一些基础知识 d(^_^o) HTTP协议 什么是HTTP 超文本传输协议(HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 HTTP是一个基于请求与响应,无状态的,应用层协议,…

30 分钟内掌握 Mainnet、Testnet 和 Devnet。Devnet是什么??

在区块链技术领域,Mainnet、Testnet 和 Devnet 等术语经常被使用,但也经常被误解。 这三种环境在区块链应用的开发和部署中起着至关重要的作用,但它们的区别和目的却常常被混淆。 让我们踏上探索之旅,揭开 Mainnet、Testnet 和 De…

HTML5+CSS3回顾总结

一、HTML5新特性 1.语义化标签 <header> 头部标签<nav> 导航标签<article> 内容标签<section> 定义文档某个区域<aside> 侧边栏标签<footer> 尾部标签 2.多媒体标签 2.1视频标签vedio 》常规写法&#xff08;尽量都使用mp4&#xff0…

google的chromedriver最新版下载地址

Chrome for Testing availability (googlechromelabs.github.io) 复制对应的地址跳转进去即可下载&#xff0c;下载前先看下自己google浏览器版本&#xff0c;找到对应的版本号去下载&#xff0c;把解压缩的exe放到google浏览器目录下。

3D软件开发的相关技术

3D开发涉及到广泛的技术和工具&#xff0c;涵盖了多个领域&#xff0c;包括计算机图形学、编程、设计、物理模拟等。以下是3D开发中常用的技术和工具&#xff0c;掌握这些技术需要广泛的知识和实践&#xff0c;项目的成功依赖于对这些技术的有效整合和应用。北京木奇移动技术有…

写大型C工程makefile构建~

正文 最开始学习linux应用开发编写的时候&#xff0c;估计大部分伙伴们都是在一个目录里面编译整个工程&#xff0c;主要是linux通常没有非常合适的集成开发环境。 以前单目录的方式实在太过捡漏&#xff0c;在linux环境中进行C代码工程开发很多时候需要编写一个相对比较通用的…

海康 面阵相机命名规则

海康 面阵相机命名规则 https://www.v-club.com/vCollage/vCollageDetail/516?subjectIdRMse6nPiyo

Nginx(openresty) 开启gzip压缩功能 提高web网站传输速度

1 开启nginx gzip压缩后&#xff0c;网页的图片&#xff0c;css、js等静态资源的大小会减少&#xff0c;节约带宽&#xff0c;提高传输效率&#xff0c;给用户快的体验,给用户更好的体验. 2 安装 #centos 8.5 yum install gzip 3 配置 #建议统一配置在http段 vim /usr/loca…

汇舟问卷:兼职做国外问卷三小时挣200

在繁忙的都市生活中&#xff0c;许多人为了生计而日夜奔波。对于大多数人来说&#xff0c;白天的工作已经足够充实&#xff0c;但依然有很多人选择在下班时间&#xff0c;多做些什么&#xff0c;为自己带来一份额外​的收入。 目前下班做的兼职工作不是跑滴滴&#xff0c;就是…