资源目录
的资源文件(字符串、图像、语音等)位于资源目录中,便于开发人员使用和维护。 资源目录有两种类型的目录和原始文件目录:基本目录和限定词目录
资源目录示例:
资源
|---base //默认情况下存在的目录
||---元素
| | |---string.json
||---媒体
| | |---icon.png
|---en_GB-vertical-car-mdpi //限定词目录的示例必须由开发人员自己创建
||---元素
| | |---string.json
||---媒体
| | |---icon.png
|-- -原始文件//默认存在的目录
资源目录分类
分类
base目录和限定词目录
原始文件目录
组织形态
必须以2级目录格式组织,并遵守目录命名约定,以匹配相应目录下的资源文件(具体取决于设备状态)。 第1级子目录是base目录和限定词目录。 base目录是默认情况下存在的目录。 如果应用的资源目录中没有与设备状态匹配的修饰符目录,则会自动引用该目录中的资源文件。 限定词目录必须由开发人员自己编写。 目录名称是表示应用场景或设备特性的一个或多个限定词的组合,必须引用限定词目录。 子目录是资源目录,包含基本元素(如字符串、颜色和布尔值)和资源文件(如媒体、动画和布局)。 具体请参阅资源组目录)。
支持创建多个子目录,可以自定义目录名称,并可以在文件夹中自由放置各种资源文件。 原始文件目录中的文件与不同的资源不匹配,具体取决于设备的状态。
编译方式
目录中的资源文件被编译为二进制文件并被赋予资源文件ID。
目录中的资源文件直接打包在APP应用程序中,既不编译也不授予资源文件ID。
引用方法
按文件类型(type )和资源名称(name )的组合进行引用。 采用Java文件: ResourceTable.type****name。 特别是,在引用系统资源的情况下,采用ohos.global.system RES.resource table.typename。 采用XML文件:
ohos :类型: name。
指定文件路径和文件名进行浏览。 示例: resources/rawfile/example.js。
限定词目录
限定词目录可以组合表示应用场景或设备特征的一个或多个限定词,包括六个维:语言、文本、国家或地区、垂直屏幕、设备类型和屏幕密度。
限定词目录的命名要求
语言国家或地区-垂直屏幕-设备类型-屏幕密度。 例如,zh_Hant_CN、zh_CN-car-ldpi等。
资源组目录
在base目录和限定词目录下,可以找到非文本格式的文件,如资源组目录(元素元素资源、媒体资源)图像、音频和视频,以及动画资源可以创建graphic可绘制资源、配置文件和其他类型的文件(用于另存为原始文件的资源)
资源文件示例
boolean.json示例
{
' boolean':[
{
' name':'boolean_1',
' value':true
(,
{
' name':'boolean_ref ',
' value ' : ' $ boolean : boolean _1'
}
]
}
color.json示例
{
' color':[
{
' name':'red ',
' value':'#ff0000 '
(,
{
' name':'red_ref ',
' value':'$color:red '
}
]
}
float.json示例
{
' float':[
{
' name':'float_1',
' value':'30.6 '
(,
{
' name':'float_ref ',
' value':'$float:float_1'
(,
{
' name':'float_px ',
' value':'100px '
}
]
}
intarray.json示例
{
' intarray':[
{
' name':'intarray_1',
' value':[
100,
200,
' $integer:integer_1'
]
}
]
}
strarray.json示例
{
' strarray':[
{
' name':'size ',
' value':[
{
' value':'small '
(,
{
' value':'$string:hello '
(,
{
' value':'large '
(,
{
' value':'extra large '
}
]
}
]
}
string.json示例
{
' string':[
{
' name':'hello ',
' value':'hello base '
(,
{
' name':'app_name ',
' value ' : ' my APP '
(,
{
' name':'app_name_ref ',
' value ' : ' $ string : app _ name '
(,
{
' name':'app_sys_ref ',
' value ' : ' $ ohos : string : request _ location _ reminder _ title '
}
]
}