# @ohos.sendableResourceManager (资源管理)
资源管理导入sendableResourceManager模块,通过调用[resourceToSendableResource](#sendableresourcemanagerresourcetosendableresource)和[sendableResourceToResource](#sendableresourcemanagersendableresourcetoresource)方法可以将[Resource](#resource)对象和[SendableResource](#sendableresource)对象进行互转。
Resource对象通过转换为SendableResource对象后,可以被[Sendable类](../../arkts-utils/arkts-sendable.md)持有。Sendable类在跨线程传输后,取出持有的SendableResource对象转为Resource对象,作为参数获取资源。
> **说明:**
>
> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import sendableResourceManager from '@ohos.sendableResourceManager';
```
## sendableResourceManager.resourceToSendableResource
resourceToSendableResource(resource: Resource): SendableResource
将Resource对象转换为SendableResource对象。
**系统能力**:SystemCapability.Global.ResourceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------------------- |
| resource | [Resource](#resource) | 是 | Resource对象。 |
**返回值:**
| 类型 | 说明 |
| ------ | ---------------------------- |
| [SendableResource](#sendableresource) | 转换后的SendableResource对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 401 | If the input parameter invalid. Possible causes:
1.Incorrect parameter types;
2.Parameter verification failed. |
**示例:**
```js
import sendableResourceManager from '@ohos.sendableResourceManager';
import { BusinessError } from '@ohos.base';
try {
let sendableResource: sendableResourceManager.SendableResource = sendableResourceManager.resourceToSendableResource($r('app.string.test'));
} catch (error) {
let code = (error as BusinessError).code;
let message = (error as BusinessError).message;
console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`);
}
```
## sendableResourceManager.sendableResourceToResource
sendableResourceToResource(sendableResource: SendableResource): Resource
将SendableResource对象转换为Resource对象。
**系统能力**:SystemCapability.Global.ResourceManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------------------- |
| sendableResource | [SendableResource](#sendableresource) | 是 | SendableResource对象。 |
**返回值:**
| 类型 | 说明 |
| ------ | ---------------------------- |
| [Resource](#resource) | 转换后的Resource对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 401 | If the input parameter invalid. Possible causes:
1.Incorrect parameter types;
2.Parameter verification failed. |
**示例:**
```js
import sendableResourceManager from '@ohos.sendableResourceManager';
import { BusinessError } from '@ohos.base';
try {
let resource: sendableResourceManager.Resource = sendableResourceManager.sendableResourceToResource(sendableResourceManager.resourceToSendableResource($r('app.string.test')));
} catch (error) {
let code = (error as BusinessError).code;
let message = (error as BusinessError).message;
console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`);
}
```
## Resource
表示的Resource资源信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Global.ResourceManager
**参数:**
| 名称 | 类型 | 只读 | 可选 |说明 |
| ---------- | ------ | ----- | ---- | ---------------|
| bundleName | string | 否 | 否 | 应用的bundle名称。 |
| moduleName | string | 否 | 否 | 应用的module名称。 |
| id | number | 否 | 否 | 资源的id值。 |
| params | any[] | 否 | 是 | 其他资源参数,包括资源名、格式化接口的替换值、复数接口的量词。 |
| type | number | 否 | 是 | 资源的类型。 |
## SendableResource
type SendableResource = _SendableResource
**系统能力:** SystemCapability.Global.ResourceManager
| 类型 | 说明 |
| ---------- | ------ |
| [_SendableResource](sendableResource.md#sendableresource-1)|表示的SendableResource资源信息。|