# 资源管理
资源管理模块,根据当前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");
```