# 资源管理 资源管理模块,根据当前configuration(语言,区域,横竖屏,mccmnc)和device capability(设备类型,分辨率)提供获取应用资源信息读取接口。 > **说明:** > > 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```js import resourceManager from '@ohos.resourceManager'; ``` ## 使用说明 从API Version9开始,Stage模型支持了通过context获取resourceManager对象的方式,再调用其内部获取资源的接口,无需再导入包,此方式FA模型不适用。 ```ts this.context.resourceManager; ``` ## resourceManager.getResourceManager getResourceManager(callback: AsyncCallback<ResourceManager>): void 获取当前应用的资源管理对象,使用callback形式返回ResourceManager对象。 此接口仅可在FA模型下使用。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ----------------------------- | | callback | AsyncCallback<[ResourceManager](#resourcemanager)> | 是 | callback方式返回ResourceManager对象 | **示例:** ```js resourceManager.getResourceManager((error, mgr) => { if (error != null) { console.log("error is " + error); return; } mgr.getString(0x1000000, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); }); ``` ## resourceManager.getResourceManager getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>): void 获取指定应用的资源管理对象,使用callback形式返回ResourceManager对象。 此接口仅可在FA模型下使用。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ---------------------------------------- | ---- | ----------------------------- | | bundleName | string | 是 | 指定应用的Bundle名称 | | callback | AsyncCallback<[ResourceManager](#resourcemanager)> | 是 | callback方式返回ResourceManager对象 | **示例:** ```js resourceManager.getResourceManager("com.example.myapplication", (error, mgr) => { }); ``` ## resourceManager.getResourceManager getResourceManager(): Promise<ResourceManager> 获取当前应用的资源管理对象,使用Promise形式返回ResourceManager对象。 此接口仅可在FA模型下使用。 **系统能力**:SystemCapability.Global.ResourceManager **返回值:** | 类型 | 说明 | | ---------------------------------------- | ----------------- | | Promise<[ResourceManager](#resourcemanager)> | Promise方式返回资源管理对象 | **示例:** ```js resourceManager.getResourceManager().then(mgr => { mgr.getString(0x1000000, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); }).catch(error => { console.log("error is " + error); }); ``` ## resourceManager.getResourceManager getResourceManager(bundleName: string): Promise<ResourceManager> 获取指定应用的资源管理对象,使用Promise形式返回ResourceManager对象。 此接口仅可在FA模型下使用。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------ | ---- | ------------- | | bundleName | string | 是 | 指定应用的Bundle名称 | **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------------------ | | Promise<[ResourceManager](#resourcemanager)> | Promise方式返回的资源管理对象 | **示例:** ```js resourceManager.getResourceManager("com.example.myapplication").then(mgr => { }).catch(error => { }); ``` ## Direction 用于表示设备屏幕方向。 **系统能力**:SystemCapability.Global.ResourceManager | 名称 | 默认值 | 说明 | | -------------------- | ---- | ---- | | DIRECTION_VERTICAL | 0 | 竖屏 | | DIRECTION_HORIZONTAL | 1 | 横屏 | ## DeviceType 用于表示当前设备类型。 **系统能力**:SystemCapability.Global.ResourceManager | 名称 | 默认值 | 说明 | | -------------------- | ---- | ---- | | 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 用于表示当前设备屏幕密度。 **系统能力**:SystemCapability.Global.ResourceManager | 名称 | 默认值 | 说明 | | -------------- | ---- | ---------- | | SCREEN_SDPI | 120 | 小规模的屏幕密度 | | SCREEN_MDPI | 160 | 中规模的屏幕密度 | | SCREEN_LDPI | 240 | 大规模的屏幕密度 | | SCREEN_XLDPI | 320 | 特大规模的屏幕密度 | | SCREEN_XXLDPI | 480 | 超大规模的屏幕密度 | | SCREEN_XXXLDPI | 640 | 超特大规模的屏幕密度 | ## Configuration 表示当前设备的状态。 **系统能力**:SystemCapability.Global.ResourceManager | 名称 | 参数类型 | 可读 | 可写 | 说明 | | --------- | ----------------------- | ---- | ---- | -------- | | direction | [Direction](#direction) | 是 | 否 | 当前设备屏幕方向 | | locale | string | 是 | 否 | 当前系统语言 | **示例:** ```js resourceManager.getResourceManager((error, mgr) => { mgr.getConfiguration((error, value) => { let direction = value.direction; let locale = value.locale; }); }); ``` ## DeviceCapability 表示设备支持的能力。 **系统能力**:SystemCapability.Global.ResourceManager | 名称 | 参数类型 | 可读 | 可写 | 说明 | | ------------- | ------------------------------- | ---- | ---- | -------- | | screenDensity | [ScreenDensity](#screendensity) | 是 | 否 | 当前设备屏幕密度 | | deviceType | [DeviceType](#devicetype) | 是 | 否 | 当前设备类型 | **示例:** ```js resourceManager.getResourceManager((error, mgr) => { mgr.getDeviceCapability((error, value) => { let screenDensity = value.screenDensity; let deviceType = value.deviceType; }); }); ``` ## RawFileDescriptor8+ 表示rawfile的descriptor信息。 **系统能力:** SystemCapability.Global.ResourceManager | 名称 | 类型 | 说明 | | ------ | ------ | ------------------ | | fd | number | rawfile的descriptor | | offset | number | rawfile的起始偏移量 | | length | number | rawfile的文件长度 | ## Resource9+ 表示的资源信息。 **系统能力:** 以下各项对应的系统能力均为SystemCapability.Global.ResourceManager | 名称 | 类型 | 说明 | | ---------- | ------ | ----------- | | bundleName | string | 应用的bundle名称 | | moduleName | string | 应用的module名称 | | id | number | 资源的id值 | ## ResourceManager 提供访问应用资源的能力。 > **说明:** > > - ResourceManager涉及到的方法,仅限基于TS扩展的声明式开发范式使用。 > > - 资源文件在工程的resources目录中定义,id可通过$r(资源地址).id的方式获取,例如$r('app.string.test').id。 ### getString getString(resId: number, callback: AsyncCallback<string>): void 用户获取指定资源ID对应的字符串,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | --------------- | | resId | number | 是 | 资源ID值 | | callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getString($r('app.string.test').id, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); }); ``` ### getString getString(resId: number): Promise<string> 用户获取指定资源ID对应的字符串,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | --------------------- | ----------- | | Promise<string> | 资源ID值对应的字符串 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getString($r('app.string.test').id).then(value => { let str = value; }).catch(error => { console.log("getstring promise error is " + error); }); }); ``` ### getString9+ getString(resource: Resource, callback: AsyncCallback<string>): void 用户获取指定resource对象对应的字符串,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | --------------- | | resource | [Resource](#resource9) | 是 | 资源信息 | | callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.string.test').id }; this.context.resourceManager.getString(resource, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); ``` ### getString9+ getString(resource: Resource): Promise<string> 用户获取指定resource对象对应的字符串,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | --------------------- | ---------------- | | Promise<string> | resource对象对应的字符串 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.string.test').id }; this.context.resourceManager.getString(resource).then(value => { let str = value; }).catch(error => { console.log("getstring promise error is " + error); }); ``` ### getStringArray getStringArray(resId: number, callback: AsyncCallback<Array<string>>): void 用户获取指定资源ID对应的字符串数组,使用callback形式返回字符串数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ----------------- | | resId | number | 是 | 资源ID值 | | callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getStringArray($r('app.strarray.test').id, (error, value) => { if (error != null) { console.log("error is " + error); } else { let strArray = value; } }); }); ``` ### getStringArray getStringArray(resId: number): Promise<Array<string>> 用户获取指定资源ID对应的字符串数组,使用Promise形式返回字符串数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | ---------------------------------- | ------------- | | Promise<Array<string>> | 资源ID值对应的字符串数组 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getStringArray($r('app.strarray.test').id).then(value => { let strArray = value; }).catch(error => { console.log("getStringArray promise error is " + error); }); }); ``` ### getStringArray9+ getStringArray(resource: Resource, callback: AsyncCallback<Array<string>>): void 用户获取指定resource对象对应的字符串数组,使用callback形式返回回字符串数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ----------------- | | resource | [Resource](#resource9) | 是 | 资源信息 | | callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.strarray.test').id }; this.context.resourceManager.getStringArray(resource, (error, value) => { if (error != null) { console.log("error is " + error); } else { let strArray = value; } }); ``` ### getStringArray9+ getStringArray(resource: Resource): Promise<Array<string>> 用户获取指定resource对象对应的字符串数组,使用Promise形式返回字符串数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | ---------------------------------- | ------------------ | | Promise<Array<string>> | resource对象对应的字符串数组 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.strarray.test').id }; this.context.resourceManager.getStringArray(resource).then(value => { let strArray = value; }).catch(error => { console.log("getStringArray promise error is " + error); }); ``` ### getMedia getMedia(resId: number, callback: AsyncCallback<Uint8Array>): void 用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------- | ---- | ------------------ | | resId | number | 是 | 资源ID值 | | callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getMedia($r('app.media.test').id, (error, value) => { if (error != null) { console.log("error is " + error); } else { let media = value; } }); }); ``` ### getMedia getMedia(resId: number): Promise<Uint8Array> 用户获取指定资源ID对应的媒体文件内容,使用Promise形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | ------------------------- | -------------- | | Promise<Uint8Array> | 资源ID值对应的媒体文件内容 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getMedia($r('app.media.test').id).then(value => { let media = value; }).catch(error => { console.log("getMedia promise error is " + error); }); }); ``` ### getMedia9+ getMedia(resource: Resource, callback: AsyncCallback<Uint8Array>): void 用户获取指定resource对象对应的媒体文件内容,使用callback形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------- | ---- | ------------------ | | resource | [Resource](#resource9) | 是 | 资源信息 | | callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.media.test').id }; this.context.resourceManager.getMedia(resource, (error, value) => { if (error != null) { console.log("error is " + error); } else { let media = value; } }); ``` ### getMedia9+ getMedia(resource: Resource): Promise<Uint8Array> 用户获取指定resource对象对应的媒体文件内容,使用Promise形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | ------------------------- | ------------------- | | Promise<Uint8Array> | resource对象对应的媒体文件内容 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.media.test').id }; this.context.resourceManager.getMedia(resource).then(value => { let media = value; }).catch(error => { console.log("getMedia promise error is " + error); }); ``` ### getMediaBase64 getMediaBase64(resId: number, callback: AsyncCallback<string>): void 用户获取指定资源ID对应的图片资源Base64编码,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------ | | resId | number | 是 | 资源ID值 | | callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getMediaBase64($r('app.media.test').id, (error, value) => { if (error != null) { console.log("error is " + error); } else { let media = value; } }); }); ``` ### getMediaBase64 getMediaBase64(resId: number): Promise<string> 用户获取指定资源ID对应的图片资源Base64编码,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | --------------------- | -------------------- | | Promise<string> | 资源ID值对应的图片资源Base64编码 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getMediaBase64($r('app.media.test').id).then(value => { let media = value; }).catch(error => { console.log("getMediaBase64 promise error is " + error); }); }); ``` ### getMediaBase649+ getMediaBase64(resource: Resource, callback: AsyncCallback<string>): void 用户获取指定resource对象对应的图片资源Base64编码,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------ | | resource | [Resource](#resource9) | 是 | 资源信息 | | callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.media.test').id }; this.context.resourceManager.getMediaBase64(resource, (error, value) => { if (error != null) { console.log("error is " + error); } else { let media = value; } }); ``` ### getMediaBase649+ getMediaBase64(resource: Resource): Promise<string> 用户获取指定resource对象对应的图片资源Base64编码,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------------- | | Promise<string> | resource对象对应的图片资源Base64编码 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.media.test').id }; this.context.resourceManager.getMediaBase64(resource).then(value => { let media = value; }).catch(error => { console.log("getMediaBase64 promise error is " + error); }); ``` ### getConfiguration getConfiguration(callback: AsyncCallback<Configuration>): void 用户获取设备的Configuration,使用callback形式返回Configuration对象。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ------------------------- | | callback | AsyncCallback<[Configuration](#configuration)> | 是 | 异步回调,用于返回设备的Configuration | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getConfiguration((error, value) => { if (error != null) { console.log("error is " + error); } else { let direction = value.direction; let locale = value.locale; } }); }); ``` ### getConfiguration getConfiguration(): Promise<Configuration> 用户获取设备的Configuration,使用Promise形式返回Configuration对象。 **系统能力**:SystemCapability.Global.ResourceManager **返回值:** | 类型 | 说明 | | ---------------------------------------- | ---------------- | | Promise<[Configuration](#configuration)> | 设备的Configuration | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getConfiguration().then(value => { let direction = value.direction; let locale = value.locale; }).catch(error => { console.log("getConfiguration promise error is " + error); }); }); ``` ### getDeviceCapability getDeviceCapability(callback: AsyncCallback<DeviceCapability>): void 用户获取设备的DeviceCapability,使用callback形式返回DeviceCapability对象。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ---------------------------- | | callback | AsyncCallback<[DeviceCapability](#devicecapability)> | 是 | 异步回调,用于返回设备的DeviceCapability | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getDeviceCapability((error, value) => { if (error != null) { console.log("error is " + error); } else { let screenDensity = value.screenDensity; let deviceType = value.deviceType; } }); }); ``` ### getDeviceCapability getDeviceCapability(): Promise<DeviceCapability> 用户获取设备的DeviceCapability,使用Promise形式返回DeviceCapability对象。 **系统能力**:SystemCapability.Global.ResourceManager **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------------------- | | Promise<[DeviceCapability](#devicecapability)> | 设备的DeviceCapability | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getDeviceCapability().then(value => { let screenDensity = value.screenDensity; let deviceType = value.deviceType; }).catch(error => { console.log("getDeviceCapability promise error is " + error); }); }); ``` ### getPluralString getPluralString(resId: number, num: number, callback: AsyncCallback<string>): void 根据指定数量获取指定ID字符串表示的单复数字符串,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------------- | | resId | number | 是 | 资源ID值 | | num | number | 是 | 数量值 | | callback | AsyncCallback<string> | 是 | 异步回调,返回根据指定数量获取指定ID字符串表示的单复数字符串 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getPluralString($r("app.plural.test").id, 1, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); }); ``` ### getPluralString getPluralString(resId: number, num: number): Promise<string> 根据指定数量获取对指定ID字符串表示的单复数字符串,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | | num | number | 是 | 数量值 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------------- | | Promise<string> | 根据提供的数量获取对应ID字符串表示的单复数字符串 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getPluralString($r("app.plural.test").id, 1).then(value => { let str = value; }).catch(error => { console.log("getPluralString promise error is " + error); }); }); ``` ### getPluralString9+ getPluralString(resource: Resource, num: number, callback: AsyncCallback<string>): void 根据指定数量获取指定resource对象表示的单复数字符串,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------------------ | | resource | [Resource](#resource9) | 是 | 资源信息 | | num | number | 是 | 数量值 | | callback | AsyncCallback<string> | 是 | 异步回调,返回根据指定数量获取指定resource对象表示的单复数字符串 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.plural.test').id }; this.context.resourceManager.getPluralString(resource, 1, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); ``` ### getPluralString9+ getPluralString(resource: Resource, num: number): Promise<string> 根据指定数量获取对指定resource对象表示的单复数字符串,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | | num | number | 是 | 数量值 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------------------ | | Promise<string> | 根据提供的数量获取对应resource对象表示的单复数字符串 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.plural.test').id }; this.context.resourceManager.getPluralString(resource, 1).then(value => { let str = value; }).catch(error => { console.log("getPluralString promise error is " + error); }); ``` ### getRawFile8+ getRawFile(path: string, callback: AsyncCallback<Uint8Array>): void 用户获取resources/rawfile目录下对应的rawfile文件内容,使用callback形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------- | ---- | ----------------------- | | path | string | 是 | rawfile文件路径 | | callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的rawfile文件内容 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getRawFile("test.xml", (error, value) => { if (error != null) { console.log("error is " + error); } else { let rawFile = value; } }); }); ``` ### getRawFile8+ getRawFile(path: string): Promise<Uint8Array> 用户获取resources/rawfile目录下对应的rawfile文件内容,使用Promise形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ----------- | | path | string | 是 | rawfile文件路径 | **返回值:** | 类型 | 说明 | | ------------------------- | ----------- | | Promise<Uint8Array> | rawfile文件内容 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getRawFile("test.xml").then(value => { let rawFile = value; }).catch(error => { console.log("getRawFile promise error is " + error); }); }); ``` ### getRawFileDescriptor8+ getRawFileDescriptor(path: string, callback: AsyncCallback<RawFileDescriptor>): void 用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用callback形式返回。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | -------------------------------- | | path | string | 是 | rawfile文件路径 | | callback | AsyncCallback<[RawFileDescriptor](#rawfiledescriptor8)> | 是 | 异步回调,用于返回获取的rawfile文件的descriptor | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getRawFileDescriptor("test.xml", (error, value) => { if (error != null) { console.log("error is " + error); } else { let fd = value.fd; let offset = value.offset; let length = value.length; } }); }); ``` ### getRawFileDescriptor8+ getRawFileDescriptor(path: string): Promise<RawFileDescriptor> 用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用Promise形式返回。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ----------- | | path | string | 是 | rawfile文件路径 | **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------------------- | | Promise<[RawFileDescriptor](#rawfiledescriptor8)> | rawfile文件descriptor | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.getRawFileDescriptor("test.xml").then(value => { let fd = value.fd; let offset = value.offset; let length = value.length; }).catch(error => { console.log("getRawFileDescriptor promise error is " + error); }); }); ``` ### closeRawFileDescriptor8+ closeRawFileDescriptor(path: string, callback: AsyncCallback<void>): void 用户关闭resources/rawfile目录下rawfile文件的descriptor,使用callback形式返回。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----------- | | path | string | 是 | rawfile文件路径 | | callback | AsyncCallback<void> | 是 | 异步回调 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.closeRawFileDescriptor("test.xml", (error, value) => { if (error != null) { console.log("error is " + error); } }); }); ``` ### closeRawFileDescriptor8+ closeRawFileDescriptor(path: string): Promise<void> 用户关闭resources/rawfile目录下rawfile文件的descriptor,使用Promise形式返回。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ----------- | | path | string | 是 | rawfile文件路径 | **返回值:** | 类型 | 说明 | | ------------------- | ---- | | Promise<void> | 无返回值 | **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.closeRawFileDescriptor("test.xml").then(value => { let result = value; }).catch(error => { console.log("closeRawFileDescriptor promise error is " + error); }); }); ``` ### release7+ release() 用户释放创建的resourceManager。 **系统能力**:SystemCapability.Global.ResourceManager **示例:** ```ts resourceManager.getResourceManager((error, mgr) => { mgr.release(); }); ``` ### getStringByName9+ getStringByName(resName: string, callback: AsyncCallback<string>): void 用户获取指定资源名称对应的字符串,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | --------------- | | resName | string | 是 | 资源名称 | | callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的字符串 | **示例:** ```ts this.context.resourceManager.getStringByName("test", (error, value) => { if (error != null) { console.log("error is " + error); } else { let string = value; } }); ``` ### getStringByName9+ getStringByName(resName: string): Promise<string> 用户获取指定资源名称对应的字符串,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | --------------------- | ---------- | | Promise<string> | 资源名称对应的字符串 | **示例:** ```ts this.context.resourceManager.getStringByName("test").then(value => { let string = value; }).catch(error => { console.log("getStringByName promise error is " + error); }); ``` ### getStringArrayByName9+ getStringArrayByName(resName: string, callback: AsyncCallback<Array<string>>): void 用户获取指定资源名称对应的字符串数组,使用callback形式返回字符串数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ----------------- | | resName | string | 是 | 资源名称 | | callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回获取的字符串数组 | **示例:** ```ts this.context.resourceManager.getStringArrayByName("test", (error, value) => { if (error != null) { console.log("error is " + error); } else { let strArray = value; } }); ``` ### getStringArrayByName9+ getStringArrayByName(resName: string): Promise<Array<string>> 用户获取指定资源名称对应的字符串数组,使用Promise形式返回字符串数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | ---------------------------------- | ------------ | | Promise<Array<string>> | 资源名称对应的字符串数组 | **示例:** ```ts this.context.resourceManager.getStringArrayByName("test").then(value => { let strArray = value; }).catch(error => { console.log("getStringArrayByName promise error is " + error); }); ``` ### getMediaByName9+ getMediaByName(resName: string, callback: AsyncCallback<Uint8Array>): void 用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------- | ---- | ------------------ | | resName | string | 是 | 资源名称 | | callback | AsyncCallback<Uint8Array> | 是 | 异步回调,用于返回获取的媒体文件内容 | **示例:** ```ts this.context.resourceManager.getMediaByName("test", (error, value) => { if (error != null) { console.log("error is " + error); } else { let media = value; } }); ``` ### getMediaByName9+ getMediaByName(resName: string): Promise<Uint8Array> 用户获取指定资源名称对应的媒体文件内容,使用Promise形式返回字节数组。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | ------------------------- | ------------- | | Promise<Uint8Array> | 资源名称对应的媒体文件内容 | **示例:** ```ts this.context.resourceManager.getMediaByName("test").then(value => { let media = value; }).catch(error => { console.log("getMediaByName promise error is " + error); }); ``` ### getMediaBase64ByName9+ getMediaBase64ByName(resName: string, callback: AsyncCallback<string>): void 用户获取指定资源名称对应的图片资源Base64编码,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ------------------------ | | resName | string | 是 | 资源名称 | | callback | AsyncCallback<string> | 是 | 异步回调,用于返回获取的图片资源Base64编码 | **示例:** ```ts this.context.resourceManager.getMediaBase64ByName("test", (error, value) => { if (error != null) { console.log("error is " + error); } else { let media = value; } }); ``` ### getMediaBase64ByName9+ getMediaBase64ByName(resName: string): Promise<string> 用户获取指定资源名称对应的图片资源Base64编码,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | --------------------- | ------------------- | | Promise<string> | 资源名称对应的图片资源Base64编码 | **示例:** ```ts this.context.resourceManager.getMediaBase64ByName("test").then(value => { let media = value; }).catch(error => { console.log("getMediaBase64ByName promise error is " + error); }); ``` ### getPluralStringByName9+ getPluralStringByName(resName: string, num: number, callback: AsyncCallback<string>): void 根据传入的数量值,获取资源名称对应的字符串资源,使用callback形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ----------------------------- | | resName | string | 是 | 资源名称 | | num | number | 是 | 数量值 | | callback | AsyncCallback<string> | 是 | 异步回调,返回根据传入的数量值获取资源名称对应的字符串资源 | **示例:** ```ts this.context.resourceManager.getPluralStringByName("test", 1, (error, value) => { if (error != null) { console.log("error is " + error); } else { let str = value; } }); ``` ### getPluralStringByName9+ getPluralStringByName(resName: string, num: number): Promise<string> 根据传入的数量值,获取资源名称对应的字符串资源,使用Promise形式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | | num | number | 是 | 数量值 | **返回值:** | 类型 | 说明 | | --------------------- | ---------------------- | | Promise<string> | 根据传入的数量值获取资源名称对应的字符串资源 | **示例:** ```ts this.context.resourceManager.getPluralStringByName("test", 1).then(value => { let str = value; }).catch(error => { console.log("getPluralStringByName promise error is " + error); }); ``` ### getStringSync9+ getStringSync(resId: number): string 用户获取指定资源ID对应的字符串,使用同步方式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | ------ | ----------- | | string | 资源ID值对应的字符串 | **示例:** ```ts this.context.resourceManager.getStringSync($r('app.string.test').id); ``` ### getStringSync9+ getStringSync(resource: Resource): string 用户获取指定resource对象对应的字符串,使用同步方式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | ------ | ---------------- | | string | resource对象对应的字符串 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.string.test').id }; this.context.resourceManager.getStringSync(resource); ``` ### getStringByNameSync9+ getStringByNameSync(resName: string): string 用户获取指定资源名称对应的字符串,使用同步方式返回字符串。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | ------ | ---------- | | string | 资源名称对应的字符串 | **示例:** ```ts this.context.resourceManager.getStringByNameSync("test"); ``` ### getBoolean9+ getBoolean(resId: number): boolean 使用同步方式,返回获取指定资源ID对应的布尔结果。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | ------- | ------------ | | boolean | 资源ID值对应的布尔结果 | **示例:** ```ts this.context.resourceManager.getBoolean($r('app.boolean.boolean_test').id); ``` ### getBoolean9+ getBoolean(resource: Resource): boolean 使用同步方式,返回获取指定resource对象对应的布尔结果。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | ------- | ----------------- | | boolean | resource对象对应的布尔结果 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.boolean.boolean_test').id }; this.context.resourceManager.getBoolean(resource); ``` ### getBooleanByName9+ getBooleanByName(resName: string): boolean 使用同步方式,返回获取指定资源名称对应的布尔结果 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | ------- | ----------- | | boolean | 资源名称对应的布尔结果 | **示例:** ```ts this.context.resourceManager.getBooleanByName("boolean_test"); ``` ### getNumber9+ getNumber(resId: number): number 用户获取指定资源ID对应的integer数值或者float数值,使用同步方式返回资源对应的数值。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ----- | | resId | number | 是 | 资源ID值 | **返回值:** | 类型 | 说明 | | ------ | ---------- | | number | 资源ID值对应的数值 | **示例:** ```ts this.context.resourceManager.getNumber($r('app.integer.integer_test').id); this.context.resourceManager.getNumber($r('app.float.float_test').id); ``` ### getNumber9+ getNumber(resource: Resource): number 用户获取指定resource对象对应的integer数值或者float数值,使用同步方式返回资源对应的数值。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---- | | resource | [Resource](#resource9) | 是 | 资源信息 | **返回值:** | 类型 | 说明 | | ------ | --------------- | | number | resource对象对应的数值 | **示例:** ```ts let resource = { bundleName: "com.example.myapplication", moduleName: "entry", id: $r('app.integer.integer_test').id }; this.context.resourceManager.getNumber(resource); ``` ### getNumberByName9+ getNumberByName(resName: string): number 用户获取指定资源名称对应的integer数值或者float数值,使用同步方式资源对应的数值。 **系统能力**:SystemCapability.Global.ResourceManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ---- | | resName | string | 是 | 资源名称 | **返回值:** | 类型 | 说明 | | ------ | --------- | | number | 资源名称对应的数值 | **示例:** ```ts this.context.resourceManager.getNumberByName("integer_test"); this.context.resourceManager.getNumberByName("float_test"); ```