资源管理

About 8 min

资源管理

icon-note.gif 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import resourceManager from '@ohos.resourceManager';
1

权限

resourceManager.getResourceManager

getResourceManager(callback: AsyncCallback<ResourceManager>): void

获取当前应用的资源管理对象,使用callback形式返回ResourceManager对象。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<ResourceManager> callback方式返回ResourceManager对象
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        if (error != null) {
            console.log("error occurs" + error);
            return; 
        }
        mgr.getString(0x1000000, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

resourceManager.getResourceManager

getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>): void

获取指定应用的资源管理对象,使用callback形式返回ResourceManager对象。

  • 参数:

    参数名 类型 必填 说明
    bundleName string 指定应用的Bundle名称
    callback AsyncCallback<ResourceManager> callback方式返回ResourceManager对象
  • 示例:

    resourceManager.getResourceManager("com.example.myapplication", (error, mgr) => {
    });
    
    1
    2

resourceManager.getResourceManager

getResourceManager(): Promise<ResourceManager>

获取当前应用的资源管理对象,使用Promise形式返回ResourceManager对象。

  • 返回值:

    类型 说明
    Promise<ResourceManager> Promise方式返回资源管理对象
  • 示例:

    resourceManager.getResourceManager().then(mgr => {
        mgr.getString(0x1000000, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    }).catch(error => {
        console.log(error);
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

resourceManager.getResourceManager

getResourceManager(bundleName: string): Promise<ResourceManager>

获取指定应用的资源管理对象,使用Promise形式返回ResourceManager对象。

  • 参数:

    参数名 类型 必填 说明
    bundleName string 指定应用的Bundle名称
  • 返回值:

    类型 说明
    Promise<ResourceManager> Promise方式返回的资源管理对象
  • 示例:

    resourceManager.getResourceManager("com.example.myapplication").then(mgr => {
    
    }).catch(error => {
    
    });
    
    1
    2
    3
    4
    5

Direction

用于表示设备屏幕方向。

名称 默认值 说明
DIRECTION_VERTICAL 0 竖屏
DIRECTION_HORIZONTAL 1 横屏

DeviceType

用于表示当前设备类型。

名称 默认值 说明
DEVICE_TYPE_PHONE 0x00 手机
DEVICE_TYPE_TABLET 0x01 平板
DEVICE_TYPE_CAR 0x02 汽车
DEVICE_TYPE_PC 0x03 电脑
DEVICE_TYPE_TV 0x04 电视
DEVICE_TYPE_WEARABLE 0x06 穿戴

ScreenDensity

用于表示当前设备屏幕密度。

名称 默认值 说明
SCREEN_SDPI 120 小规模的屏幕密度
SCREEN_MDPI 160 中规模的屏幕密度
SCREEN_LDPI 240 大规模的屏幕密度
SCREEN_XLDPI 320 特大规模的屏幕密度
SCREEN_XXLDPI 480 超大规模的屏幕密度
SCREEN_XXXLDPI 640 超特大规模的屏幕密度

Configuration

表示当前设备的状态。

名称 参数类型 可读 可写 说明
direction Direction 当前设备屏幕方向
locale string 当前系统语言

DeviceCapability

表示设备支持的能力。

名称 参数类型 可读 可写 说明
screenDensity ScreenDensity 当前设备屏幕密度
deviceType DeviceType 当前设备类型

ResourceManager

提供访问应用资源的能力。

icon-note.gif 说明:

  • ResourceManager涉及到的方法,仅限基于TS扩展的声明式开发范式使用。

  • 资源文件在工程的resources目录中定义,id可通过r(资源地址).id的方式获取,例如r('app.string.test').id。

getString

getString(resId: number, callback: AsyncCallback<string>): void

用户获取指定资源ID对应的字符串,使用callback形式返回字符串。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
    callback AsyncCallback<string> 异步回调,用于返回获取的字符串
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getString($r('app.string.test').id, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getString

getString(resId: number): Promise<string>

用户获取指定资源ID对应的字符串,使用Promise形式返回字符串。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
  • 返回值:

    类型 说明
    Promise<string> 资源ID值对应的字符串
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getString($r('app.string.test').id).then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getStringArray

getStringArray(resId: number, callback: AsyncCallback<Array<string>>): void

用户获取指定资源ID对应的字符串数组,使用callback形式返回字符串数组。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
    callback AsyncCallback<Array<string>> 异步回调,用于返回获取的字符串数组
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getStringArray($r('app.strarray.test').id, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getStringArray

getStringArray(resId: number): Promise<Array<string>>

用户获取指定资源ID对应的字符串数组,使用Promise形式返回字符串数组。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
  • 返回值:

    类型 说明
    Promise<Array<string>> 资源ID值对应的字符串数组
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
         mgr.getStringArray($r('app.strarray.test').id).then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getMedia

getMedia(resId: number, callback: AsyncCallback<Uint8Array>): void

用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
    callback AsyncCallback<Array<Uint8Array>> 异步回调,用于返回获取的媒体文件内容
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getMedia($r('app.media.test').id, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getMedia

getMedia(resId: number): Promise<Uint8Array>

用户获取指定资源ID对应的媒体文件内容,使用Promise形式返回字节数组。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
  • 返回值:

    类型 说明
    Promise<Array<Uint8Array>> 资源ID值对应的媒体文件内容
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getMedia($r('app.media.test').id).then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getMediaBase64

getMediaBase64(resId: number, callback: AsyncCallback<string>): void

用户获取指定资源ID对应的图片资源Base64编码,使用callback形式返回字符串。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
    callback AsyncCallback<string> 异步回调,用于返回获取的图片资源Base64编码
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getMediaBase64($r('app.media.test').id, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getMediaBase64

getMediaBase64(resId: number): Promise<string>

用户获取指定资源ID对应的图片资源Base64编码,使用Promise形式返回字符串。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
  • 返回值:

    类型 说明
    Promise<string> 资源ID值对应的图片资源Base64编码
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getMediaBase64($r('app.media.test').id).then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getConfiguration

getConfiguration(callback: AsyncCallback<Configuration>): void

用户获取设备的Configuration,使用callback形式返回Configuration对象。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<Configuration> 异步回调,用于返回设备的Configuration
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getConfiguration((error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getConfiguration

getConfiguration(): Promise<Configuration>

用户获取设备的Configuration,使用Promise形式返回Configuration对象。

  • 返回值:

    类型 说明
    Promise<Configuration> 设备的Configuration
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getConfiguration().then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getDeviceCapability

getDeviceCapability(callback: AsyncCallback<DeviceCapability>): void

用户获取设备的DeviceCapability,使用callback形式返回DeviceCapability对象。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<DeviceCapability> 异步回调,用于返回设备的DeviceCapability
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getDeviceCapability((error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getDeviceCapability

getDeviceCapability(): Promise<DeviceCapability>

用户获取设备的DeviceCapability,使用Promise形式返回DeviceCapability对象。

  • 返回值:

    类型 说明
    Promise<DeviceCapability> 设备的DeviceCapability
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getDeviceCapability().then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getPluralString

getPluralString(resId: number, num: number, callback: AsyncCallback<string>): void

根据指定数量获取指定ID字符串表示的单复数字符串,使用callback形式返回字符串。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
    num number 数量值
    callback AsyncCallback<string> 异步回调,返回根据指定数量获取指定ID字符串表示的单复数字符串
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getPluralString($r("app.plural.test").id, 1, (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getPluralString

getPluralString(resId: number, num: number): Promise<string>

根据指定数量获取对指定ID字符串表示的单复数字符串,使用Promise形式返回字符串。

  • 参数:

    参数名 类型 必填 说明
    resId number 资源ID值
    num number 数量值
  • 返回值:

    类型 说明
    Promise<string> 根据提供的数量获取对应ID字符串表示的单复数字符串
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getPluralString($r("app.plural.test").id, 1).then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getstring promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7

getRawFile8+

getRawFile(path: string, callback: AsyncCallback<Uint8Array>): void

用户获取指定路径对应的rawfile文件内容,使用callback形式返回字节数组。

  • 参数:

    参数名 类型 必填 说明
    path string rawfile文件路径
    callback AsyncCallback<Array<Uint8Array>> 异步回调,用于返回获取的rawfile文件内容
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getRawFile("test.xml", (error, value) => {
            if (error != null) {
                console.log(value);
            } else {
                console.log(value);
            }
        });
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

getRawFile8+

getRawFile(path: string): Promise<Uint8Array>

用户获取指定路径对应的rawfile文件内容,使用Promise形式返回字节数组。

  • 参数:

    参数名 类型 必填 说明
    path string rawfile文件路径
  • 返回值:

    类型 说明
    Promise<Array<Uint8Array>> rawfile文件内容
  • 示例:

    resourceManager.getResourceManager((error, mgr) => {
        mgr.getRawFile("test.xml").then(value => {
            console.log(value);
        }).catch(error => {
            console.log("getrawfile promise " + error);
        });
    });
    
    1
    2
    3
    4
    5
    6
    7