鸿蒙学习第一课--认识目录结构

项目结构介绍

在这里插入图片描述

module.json5

src > main > module.json5:Stage模型模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。具体的配置文件说明,详见module.json5配置文件。

在这里插入图片描述

资源分类和访问

关于src > main > resources下文件的更多信息都可以访问:
资源分类与访问

资源分类介绍

限定词目录的命名要求

开发者在创建限定词目录时,需要遵守限定词目录的命名规则。

  • 限定词的组合顺序:移动国家码_移动网络码-语言_文字_国家或地区-横竖屏-设备类型-颜色模式-屏幕密度。开发者可以根据应用的使用场景和设备特征,选择其中的一类或几类限定词组成目录名称。
  • 限定词的连接方式:语言、文字、国家或地区之间采用下划线()连接,移动国家码和移动网络码之间也采用下划线()连接,除此之外的其他限定词之间均采用中划线(-)连接。例如:zh_Hant_CN、zh_CN-car-ldpi。
  • 限定词的取值范围:每类限定词的取值必须符合限定词取值要求表中的条件,如表2。否则,将无法匹配目录中的资源文件。

详细见限定词目录的命名要求

资源组目录

资源组目类型包括element、media、profile,用于存放特定类型的资源文件。
最新去官网看,点上面链接
最新去官网看,点上面链接,还有媒体资源、音视频资源介绍

创建资源目录和资源组目录和资源文件

在对应的文件夹下右键可以创建
详细方法步骤

资源访问

更详细见资源访问

应用资源
  • 对于应用资源,在工程中,通过"$r(‘app.type.name’)"形式引用。其中,app为应用内resources目录中定义的资源;type为资源类型或资源的存放位置,取值包含“color”、“float”、“string”、“plural”、“media”;name为资源命名,由开发者定义资源时确定。(在ets文件夹下需要app开头,在resources文件下可以去掉app.)
  • 对于rawfile目录资源,通过"$rawfile(‘filename’)“形式引用。其中,filename为rawfile目录下文件的相对路径,文件名需要包含后缀,路径开头不可以以”/"开头。
  • 对于rawfile目录的descriptor,可通过资源管理的getRawFd接口引用,其返回值descriptor.fd为hap包的fd。此时,访问rawfile文件需要结合{fd,offset, length}一起使用。
系统资源

除了自定义资源,开发者也可以使用系统中预定义的资源,统一应用的视觉风格。
对于系统资源,可以通过“$r(‘sys.type.resource_id’)”的形式引用。其中,sys为系统资源;type为资源类型,取值包括“color”、“float”、“string”、“media”;resource_id为资源id。

资源匹配

应用使用某资源时,系统会根据当前设备状态优先从相匹配的限定词目录中寻找该资源。只有当resources目录中没有与设备状态匹配的限定词目录,或者在限定词目录中找不到该资源时,才会去base目录中查找。rawfile是原始文件目录,不会根据设备状态去匹配不同的资源。

待学习概念

  • 了解Ability
  • 系统应用配置和三方应用配置什么意思
  • 该Module对应的Hap,Module和Hap都是啥
  • 用的entry类型Module的该字段配置为true时,该应用的feature类型的该字段也需要配置为true。什么意思?

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue使用asiox 下载后端返回的excel数据流

一、前端代码 <template><div class"hello"><h1>{{ msg }}</h1><button style"color: brown" click"exportExcel">excel导出</button></div> </template><script> import axios from &q…

awk编辑器

目录 工作原理 命令格式 普通格式 BEGIN格式 语句循环格式 awk常见的内建变量&#xff08;可直接用&#xff09; 按行打印行内容 统计行数量 按字段输出文本 通过管道、双引号调用 Shell 命令 awk编辑器是一种流编辑器 工作原理 逐行读取文本,默认以空格或tab键为分…

二叉树,先序遍历、中序遍历、后序遍历和层序遍历实现 C++

二叉树基类声明 template<typename T>class Tree{protected:Tree() default;virtual ~Tree() default;virtual const Tree& root()const 0;virtual Tree& root() 0;virtual const Tree& left()const 0;virtual const Tree& right()const 0;virtua…

java第十八课 —— 重载、可变参数

方法重载 基本介绍 java 中允许同一个类中&#xff0c;多个同名方法的存在&#xff0c;但要求形参列表不一致&#xff01; 比如&#xff1a;System.out.println(); out 是 PrintStream 类型 重载的好处 减轻了起名的麻烦减轻了记名的麻烦 注意事项和使用细节 方法名&…

【Vue】Vue2中的Vuex

目录 Vuex介绍Vuex 中的核心概念 在vue2中使用Vuex安装 Vuex创建一个 Vuex Store在 Vue 实例中使用 Vuex编写 Vuex 的 state、mutations 和 actions在组件中使用 Vuex Vuex的核心State组件中获取 Vuex 的状态mapState 辅助函数对象展开运算符 Getter基本使用示例 通过属性访问通…

从多站点到多活,XEOS 对象数据容灾能力再提升

近日&#xff0c; XSKY SDS V6.4 新版本发布&#xff0c;其中 XEOS V6.4 全新升级并完善了统一命名空间功能&#xff0c;更进一步增强和完善了异地容灾方案&#xff0c;配合强一致代理读&#xff0c;可以实现异地多活&#xff1b;同时大幅降低管理复杂度&#xff0c;有效降低容…

Nginx中的limit_req模块和limit_conn模块详解

引言 在高流量场景下&#xff0c;良好的限流和连接控制策略至关重要&#xff0c;以防止服务器过载&#xff0c;确保服务稳定性和高可用性。Nginx 提供了 limit_req 和 limit_conn 模块&#xff0c;用以实现请求频率和并发连接数的限制。本文将详细介绍这两个模块的生效阶段和生…

TikTok电商带货特训营,跟随时代潮流,跨境掘金(8节课)

课程内容&#xff1a; 1-先导课 2-一、店铺运营认知与思路 3-二、店铺风控注意事项 4-三、美区Tiktok前期工作-1店铺入驻模式 5-三、美区Tiktok前期工作-2指纹浏览器介绍 6-三、美区Tiktok前期工作-4绑定电话号码 7-三、美区Tiktok前期工作-5添加仓库地址 8-三、美区Ti…

GIS读研与求职准备:植被定量遥感专业研0

本文介绍植被定量遥感专业研究生入学初期&#xff0c;为将来从事开发类工作所作求职准备的规划路径、方向选择等方面的建议。 前面提到了&#xff0c;最近有很多师弟师妹询问关于研究生方向选择、求职准备等方面的问题。因为很多朋友的提问比较有共性&#xff0c;所以会在征得对…

【秒杀系统】从零开始打造简易秒杀系统(一):防止超卖

【秒杀系统】从零开始打造简易秒杀系统&#xff08;一&#xff09;&#xff1a;防止超卖 前言 大家好&#xff0c;好久不发文章了。&#xff08;快一个月了- -&#xff09;最近有很多学习的新知识想和大家分享&#xff0c;但无奈最近项目蛮忙的&#xff0c;很多文章写了一半搁…

redis笔记1

1-nosql&#xff08;非关系型数据库&#xff09; 定位缓存&#xff0c;提高数据读写速度&#xff0c;减轻对数据储存与访问压力&#xff0c;不建议存敏感数据&#xff08;重要数据&#xff09;。 2-特征 &#xff08;1&#xff09;键值&#xff08;key-value&#xff09;型 &a…

【面试】Oracle JDK和Open JDK什么关系?

目录 1. 起源与发展2. 代码与许可3. 功能与组件4. 使用场景5. 版本更新与支持 1. 起源与发展 1.Oracle JDK是由Oracle公司基于Open JDK源代码开发的商业版本。2.Open JDK是java语言的一个开源实现。 2. 代码与许可 1.Oracle JDK包含了闭源组件&#xff0c;并根据二进制代码许…

深入Java:JSON解析与操作的艺术

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、初识JSON&#xff1a;数据格式的优雅舞者 在现代Web开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;以其轻量级和易于阅读的特点成为了数据交换的首选格式。它基于JavaScript的一个…

用最通俗的话理解什么是协程

参考&#xff1a; 用最通俗的话理解什么是协程-CSDN博客

FreeRTOS_信号量_学习笔记

信号量的特性 消息队列用于传输多个数据&#xff0c;但是有时候我们只需要传递状态&#xff0c;这个状态值需要用一个数值表示。套用队列笔记中的流水线例子&#xff0c;可以理解为流水线上工件的数量。 信号&#xff1a;起通知作用 量&#xff1a;还可以用来表示资源的数量 当…

打印机手动双面打印技巧

一、WORD和PDF &#xff08;1&#xff09;首先选择要打印的页面范围&#xff0c;然后选择仅奇数页打印 &#xff08;2&#xff09;将打印完的纸张翻过来&#xff0c;白纸朝上&#xff0c;纸张的头部先放入打印机 &#xff08;3&#xff09;选择要打印的页面范围&#xff0c;然…

oracle.jdbc.OracleDatabaseException: ORA-00911: 无效字符

先吐槽一句&#xff0c;oracle 真坑啊&#xff01; 一个很正常的sql 语句一直报 ORA-00911: 无效字符 &#xff0c;拿到数据库去执行一点问题没有&#xff0c;一运行代码就报错&#xff0c;然后一个字符一个字符的对比&#xff0c;竟然是因为sql 结尾的一个 ";" 导致…

TP6开发文档概述

TP6&#xff08;ThinkPHP 6&#xff09;是一个使用PHP语言开发的快速、兼容且简单的面向对象开发框架。以下是一个简化的TP6开发文档概述&#xff0c;涵盖了核心功能和一些常用方法&#xff1a; 一、环境准备 PHP安装&#xff1a;确保已经安装了与TP6兼容的PHP版本。 Composer…

PHPIPAM在建立数据库阶段报错

如题&#xff0c;参考大佬的操作IP地址管理系统phpipam部署-CSDN博客搭建PHPIPAM&#xff0c;不过我没有选择1.4&#xff0c;而是直接搭建了1.6版本&#xff0c;一切顺利&#xff0c;到了最后建立数据库阶段&#xff0c;输入数据库账号和密码后提示Cannot install sql SCHEMA f…

大模型部署_书生浦语大模型 _作业2

本节课可以让同学们实践 4 个主要内容&#xff0c;分别是&#xff1a; 1、部署 InternLM2-Chat-1.8B 模型进行智能对话 1.1安装依赖库&#xff1a; pip install huggingface-hub0.17.3 pip install transformers4.34 pip install psutil5.9.8 pip install accelerate0.24.1…