美文网首页
鸿蒙系统资源文件分类

鸿蒙系统资源文件分类

作者: 裴云飞 | 来源:发表于2020-10-05 21:15 被阅读0次

resources目录

应用的资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者使用和维护。resources目录包括两大类目录,一类为base目录与限定词目录,另一类为rawfile目录
资源目录示例:

resources
|---base  // 默认存在的目录
|   |---element
|   |   |---string.json
|   |---media
|   |   |---icon.png
|---en_GB-vertical-car-mdpi // 限定词目录示例,需要开发者自行创建   
|   |---element
|   |   |---string.json
|   |---media
|   |   |---icon.png
|---rawfile  // 默认存在的目录

resources目录分类

分类 base目录与限定词目录 rawfile目录
组织形式 按照两级目录形式来组织,目录命名必须符合规范,以便根据设备状态去匹配相应目录下的资源文件。一级子目录为 base目录和 限定词目录。base目录是默认存在的目录。当应用的resources资源目录中没有与设备状态匹配的限定词目录时,会自动引用该目录中的资源文件。限定词目录需要开发者自行创建。目录名称由一个或多个表征应用场景或设备特征的限定词组合而成,具体要求参见限定词目录。二级子目录为资源目录,用于存放字符串、颜色、布尔值等基础元素,以及媒体、动画、布局等资源文件,具体要求参见资源组目录)。 支持创建多层子目录,目录名可以自定义,文件夹内可以自由放置各类资源文件。rawfile目录的文件不会根据设备状态去匹配不同的资源。
编译方式 目录中的资源文件会被编译成二进制文件,并赋予资源文件ID。 目录中的资源文件会被直接打包进应用,不经过编译,也不会被赋予资源文件 ID。
引用方式 通过文件类型(type)和资源名称(name)的组合引用。Java 文件采用:ResourceTable.type****name。特别地,如果引用的是系统资源,则采用:ohos.global.systemres.ResourceTable.typename。XML 文件采用:*type*:*name*。特别地,如果引用的是系统资源,则采用:ohos:type:name 通过指定文件路径和文件名来引用。例如:“resources/rawfile/example.js”。

限定词目录

限定词目录可以由一个或多个表征应用场景或设备特征的限定词组合而成,包括语言、文字、国家或地区、横竖屏、设备类型和屏幕密度等六个维度。

限定词目录的命名要求

语言文字国家或地区-横竖屏-设备类型-屏幕密度,例如:zh_Hant_CN、zh_CN-car-ldpi

资源组目录

base目录与限定词目录下面可以创建资源组目录(包括element元素资源、media媒体资源,包括图片、音频、视频等非文本格式的文件、animation动画资源、layout布局资源、graphic可绘制资源、profile其他类型文件,以原始文件形式保存),用于存放特定类型的资源文件。

资源文件示例

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 application"
        },
        {
            "name":"app_name_ref",
            "value":"$string:app_name"
        },
        {
            "name":"app_sys_ref",
            "value":"$ohos:string:request_location_reminder_title"
        }
    ]
}

相关文章

  • 鸿蒙系统资源文件分类

    resources目录 应用的资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者使用和...

  • 鸿蒙学习之路(2)资源文件分类

    resources目录 应用的资源文件(字符串、图片、音频等)统一存放于resources目录下.resource...

  • 鸿蒙应用配置文件简介

    鸿蒙应用的配置文件 安卓有个清单文件,四大组件、权限等都需要在清单文件中注册,清单文件是个xml文件。类似的,鸿蒙...

  • iOS性能概述

    1. 性能分类 性能主要分为:系统资源使用情况以及快速响应给用户。前者由于系统资源是有限的,包括cpu、内存、存储...

  • 001-性能问题分析的一般步骤

    性能问题主要从系统资源瓶颈和应用程序瓶颈两个角度来考虑: 系统资源瓶颈 资源分类 硬件资源:CPU、内存、磁盘、文...

  • 12.2.类分类

    分类.h文件: 分类.m文件: 关联对象

  • Linux学习-常用命令-文件搜索命令

    文件搜索命令 locate 在文件资料库查找,系统文件的查找,节省系统资源啊,类似everything/usr/b...

  • 链式方法分类

    链式方法分类.h文件 链式方法分类.m文件

  • linux基础4系统资源管理

    linux系统资源管理 du 查看目录 / 文件使用磁盘空间的大小 -a ...

  • 线程数量设定的考虑

    我们已经知道了线程池中的最大线程数量应该被限制,才不会导致系统资源耗尽。这些系统资源包括了内存(堆栈)、打开的文件...

网友评论

      本文标题:鸿蒙系统资源文件分类

      本文链接:https://www.haomeiwen.com/subject/wxtzuktx.html