项目结构介绍
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。什么意思?