# Resource Management
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import
```
import resourceManager from '@ohos.resourceManager';
```
## resourceManager.getResourceManager
getResourceManager(callback: AsyncCallback<ResourceManager>): void
Obtains the **ResourceManager** object of this application. This method uses a callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ----------------------------- |
| callback | AsyncCallback<[ResourceManager](#resourcemanager)> | Yes | Callback used to return the **ResourceManager** object obtained.|
**Example**
```
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);
}
});
});
```
## resourceManager.getResourceManager
getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>): void
Obtains the **ResourceManager** object of an application. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ---------- | ---------------------------------------- | ---- | ----------------------------- |
| bundleName | string | Yes | Bundle name of the target application. |
| callback | AsyncCallback<[ResourceManager](#resourcemanager)> | Yes | Callback used to return the **ResourceManager** object obtained.|
**Example**
```
resourceManager.getResourceManager("com.example.myapplication", (error, mgr) => {
});
```
## resourceManager.getResourceManager
getResourceManager(): Promise<ResourceManager>
Obtains the **ResourceManager** object of this application. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Return value**
| Type | Description |
| ---------------------------------------- | ----------------- |
| Promise<[ResourceManager](#resourcemanager)> | Promise used to return the **ResourceManager** object obtained.|
**Example**
```
resourceManager.getResourceManager().then(mgr => {
mgr.getString(0x1000000, (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
}).catch(error => {
console.log(error);
});
```
## resourceManager.getResourceManager
getResourceManager(bundleName: string): Promise<ResourceManager>
Obtains the **ResourceManager** object of an application. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ---------- | ------ | ---- | ------------- |
| bundleName | string | Yes | Bundle name of the target application.|
**Return value**
| Type | Description |
| ---------------------------------------- | ------------------ |
| Promise<[ResourceManager](#resourcemanager)> | Promise used to return the **ResourceManager** object obtained.|
**Example**
```
resourceManager.getResourceManager("com.example.myapplication").then(mgr => {
}).catch(error => {
});
```
## Direction
Enumerates the screen directions.
**System capability**: SystemCapability.Global.ResourceManager
| Name | Default Value | Description |
| -------------------- | ---- | ---- |
| DIRECTION_VERTICAL | 0 | Portrait |
| DIRECTION_HORIZONTAL | 1 | Landscape |
## DeviceType
Enumerates the device types.
**System capability**: SystemCapability.Global.ResourceManager
| Name | Default Value | Description |
| -------------------- | ---- | ---- |
| DEVICE_TYPE_PHONE | 0x00 | Mobile phone. |
| DEVICE_TYPE_TABLET | 0x01 | Tablet. |
| DEVICE_TYPE_CAR | 0x02 | Automobile. |
| DEVICE_TYPE_PC | 0x03 | Computer. |
| DEVICE_TYPE_TV | 0x04 | TV. |
| DEVICE_TYPE_WEARABLE | 0x06 | Wearable. |
## ScreenDensity
Enumerates the screen density types.
**System capability**: SystemCapability.Global.ResourceManager
| Name | Default Value | Description |
| -------------- | ---- | ---------- |
| SCREEN_SDPI | 120 | Screen density with small-scale dots per inch (SDPI). |
| SCREEN_MDPI | 160 | Screen density with medium-scale dots per inch (MDPI). |
| SCREEN_LDPI | 240 | Screen density with large-scale dots per inch (LDPI). |
| SCREEN_XLDPI | 320 | Screen density with extra-large-scale dots per inch (XLDPI). |
| SCREEN_XXLDPI | 480 | Screen density with extra-extra-large-scale dots per inch (XXLDPI). |
| SCREEN_XXXLDPI | 640 | Screen density with extra-extra-extra-large-scale dots per inch (XXXLDPI).|
## Configuration
Defines the device configuration.
**System capability**: SystemCapability.Global.ResourceManager
| Name | Type | Readable | Writable | Description |
| --------- | ----------------------- | ---- | ---- | -------- |
| direction | [Direction](#direction) | Yes | No | Screen direction of the device.|
| locale | string | Yes | No | Current system language. |
## DeviceCapability
Defines the device capability.
**System capability**: SystemCapability.Global.ResourceManager
| Name | Type | Readable | Writable | Description |
| ------------- | ------------------------------- | ---- | ---- | -------- |
| screenDensity | [ScreenDensity](#screendensity) | Yes | No | Screen density of the device.|
| deviceType | [DeviceType](#devicetype) | Yes | No | Type of the device. |
## RawFileDescriptor8+
Defines the descriptor information of the raw file.
**System capability**: SystemCapability.Global.ResourceManager
| Name | Type | Description |
| ------ | ------ | ------------------ |
| fd | number | Descriptor of a raw file.|
| offset | number | Offset to the start position of the raw file. |
| length | number | Length of the raw file. |
## ResourceManager
Defines the capability of accessing application resources.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> - The methods involved in **ResourceManager** are applicable only to the TypeScript-based declarative development paradigm.
>
> - Resource files are defined in the **resources** directory of the project. You can obtain the resource ID using **$r(resource address).id**, for example, **$r('app.string.test').id**.
### getString
getString(resId: number, callback: AsyncCallback<string>): void
Obtains the string corresponding to the specified resource ID. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | --------------------------- | ---- | --------------- |
| resId | number | Yes | Resource ID. |
| callback | AsyncCallback<string> | Yes | Callback used to return the string obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getString($r('app.string.test').id, (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getString
getString(resId: number): Promise<string>
Obtains the string corresponding to the specified resource ID. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ----- | ------ | ---- | ----- |
| resId | number | Yes | Resource ID.|
**Return value**
| Type | Description |
| --------------------- | ----------- |
| Promise<string> | Promise used to return the string obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getString($r('app.string.test').id).then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getStringArray
getStringArray(resId: number, callback: AsyncCallback<Array<string>>): void
Obtains the array of strings corresponding to the specified resource ID. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ----------------- |
| resId | number | Yes | Resource ID. |
| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the obtained array of strings.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getStringArray($r('app.strarray.test').id, (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getStringArray
getStringArray(resId: number): Promise<Array<string>>
Obtains the array of strings corresponding to the specified resource ID. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ----- | ------ | ---- | ----- |
| resId | number | Yes | Resource ID.|
**Return value**
| Type | Description |
| ---------------------------------- | ------------- |
| Promise<Array<string>> | Promise used to return the array of strings obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getStringArray($r('app.strarray.test').id).then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getMedia
getMedia(resId: number, callback: AsyncCallback<Uint8Array>): void
Obtains the content of the media file corresponding to the specified resource ID. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------- | ---- | ------------------ |
| resId | number | Yes | Resource ID. |
| callback | AsyncCallback<Uint8Array> | Yes | Callback used to return the content of the media file obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getMedia($r('app.media.test').id, (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getMedia
getMedia(resId: number): Promise<Uint8Array>
Obtains the content of the media file corresponding to the specified resource ID. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ----- | ------ | ---- | ----- |
| resId | number | Yes | Resource ID.|
**Return value**
| Type | Description |
| ------------------------- | -------------- |
| Promise<Uint8Array> | Promise used to return the content of the media file obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getMedia($r('app.media.test').id).then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getMediaBase64
getMediaBase64(resId: number, callback: AsyncCallback<string>): void
Obtains the Base64 code of the image corresponding to the specified resource ID. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | --------------------------- | ---- | ------------------------ |
| resId | number | Yes | Resource ID. |
| callback | AsyncCallback<string> | Yes | Callback used to return the Base64 code of the image obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getMediaBase64($r('app.media.test').id, (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getMediaBase64
getMediaBase64(resId: number): Promise<string>
Obtains the Base64 code of the image corresponding to the specified resource ID. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ----- | ------ | ---- | ----- |
| resId | number | Yes | Resource ID.|
**Return value**
| Type | Description |
| --------------------- | -------------------- |
| Promise<string> | Promise used to return the Base64 code of the image obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getMediaBase64($r('app.media.test').id).then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getConfiguration
getConfiguration(callback: AsyncCallback<Configuration>): void
Obtains the device configuration. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ------------------------- |
| callback | AsyncCallback<[Configuration](#configuration)> | Yes | Callback used to return the obtained device configuration.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getConfiguration((error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getConfiguration
getConfiguration(): Promise<Configuration>
Obtains the device configuration. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Return value**
| Type | Description |
| ---------------------------------------- | ---------------- |
| Promise<[Configuration](#configuration)> | Promise used to return the device configuration.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getConfiguration().then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getDeviceCapability
getDeviceCapability(callback: AsyncCallback<DeviceCapability>): void
Obtains the device capability. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | ---------------------------- |
| callback | AsyncCallback<[DeviceCapability](#devicecapability)> | Yes | Callback used to return the obtained device capability.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getDeviceCapability((error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getDeviceCapability
getDeviceCapability(): Promise<DeviceCapability>
Obtains the device capability. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Return value**
| Type | Description |
| ---------------------------------------- | ------------------- |
| Promise<[DeviceCapability](#devicecapability)> | Promise used to return the obtained device capability.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getDeviceCapability().then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getPluralString
getPluralString(resId: number, num: number, callback: AsyncCallback<string>): void
Obtains the specified number of singular-plural strings corresponding to the specified resource ID. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | --------------------------- | ---- | ------------------------------- |
| resId | number | Yes | Resource ID. |
| num | number | Yes | Number that determines the plural or singular form. |
| callback | AsyncCallback<string> | Yes | Callback used to return the singular-plural string obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getPluralString($r("app.plural.test").id, 1, (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getPluralString
getPluralString(resId: number, num: number): Promise<string>
Obtains the specified number of singular-plural strings corresponding to the specified resource ID. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ----- | ------ | ---- | ----- |
| resId | number | Yes | Resource ID.|
| num | number | Yes | Number that determines the plural or singular form. |
**Return value**
| Type | Description |
| --------------------- | ------------------------- |
| Promise<string> | Promise used to return the singular-plural string obtained.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getPluralString($r("app.plural.test").id, 1).then(value => {
console.log(value);
}).catch(error => {
console.log("getstring promise " + error);
});
});
```
### getRawFile8+
getRawFile(path: string, callback: AsyncCallback<Uint8Array>): void
Obtains the content of the raw file in the specified path. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------- | ---- | ----------------------- |
| path | string | Yes | Path of the raw file. |
| callback | AsyncCallback<Uint8Array> | Yes | Callback used to return the raw file content, in byte arrays.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getRawFile("test.xml", (error, value) => {
if (error != null) {
console.log(value);
} else {
console.log(value);
}
});
});
```
### getRawFile8+
getRawFile(path: string): Promise<Uint8Array>
Obtains the content of the raw file in the specified path. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ---- | ------ | ---- | ----------- |
| path | string | Yes | Path of the raw file.|
**Return value**
| Type | Description |
| ------------------------- | ----------- |
| Promise<Uint8Array> | Promise used to return the raw file content, in byte arrays.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getRawFile("test.xml").then(value => {
console.log(value);
}).catch(error => {
console.log("getrawfile promise " + error);
});
});
```
### getRawFileDescriptor8+
getRawFileDescriptor(path: string, callback: AsyncCallback<RawFileDescriptor>): void
Obtains the descriptor of the raw file in the specified path. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------- | ---- | -------------------------------- |
| path | string | Yes | Path of the raw file. |
| callback | AsyncCallback<[RawFileDescriptor](#rawfiledescriptor8)> | Yes | Callback used to return the raw file descriptor.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.getRawFileDescriptor("test.xml", (error, value) => {
if (error != null) {
console.log(value);
} else {
let fd = value.fd;
let offset = value.offset;
let length = value.length;
}
});
});
```
### getRawFileDescriptor8+
getRawFileDescriptor(path: string): Promise<RawFileDescriptor>
Obtains the descriptor of the raw file in the specified path. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ---- | ------ | ---- | ----------- |
| path | string | Yes | Path of the raw file.|
**Return value**
| Type | Description |
| ---------------------------------------- | ------------------- |
| Promise<[RawFileDescriptor](#rawfiledescriptor8)> | Promise used to return the raw file descriptor.|
**Example**
```
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);
});
});
```
### closeRawFileDescriptor8+
closeRawFileDescriptor(path: string, callback: AsyncCallback<void>): void
Closes the descriptor of the raw file in the specified path. This method uses an asynchronous callback to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------- | ---- | ----------- |
| path | string | Yes | Path of the raw file.|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. |
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.closeRawFileDescriptor("test.xml", (error, value) => {
if (error != null) {
console.log(value);
}
});
});
```
### closeRawFileDescriptor8+
closeRawFileDescriptor(path: string): Promise<void>
Closes the descriptor of the raw file in the specified path. This method uses a promise to return the result.
**System capability**: SystemCapability.Global.ResourceManager
**Parameters**
| Name | Type | Mandatory | Description |
| ---- | ------ | ---- | ----------- |
| path | string | Yes | Path of the raw file.|
**Return value**
| Type | Description |
| ------------------- | ---- |
| Promise<void> | No value is returned.|
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.closeRawFileDescriptor("test.xml").then(value => {
console.log(value);
}).catch(error => {
console.log("closeRawFileDescriptor promise " + error);
});
});
```
### release7+
release()
Releases the created **resourceManager**.
**System capability**: SystemCapability.Global.ResourceManager
**Example**
```
resourceManager.getResourceManager((error, mgr) => {
mgr.release((error, value) => {
if (error != null) {
console.log(value);
}
});
});
```