1e41f4b71Sopenharmony_ci# @ohos.sendableResourceManager (Resource Management) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe **sendableResourceManager** module provides the [resourceToSendableResource](#sendableresourcemanagerresourcetosendableresource) and [sendableResourceToResource](#sendableresourcemanagersendableresourcetoresource) APIs to implement conversion between [Resource](#resource) and [SendableResource](#sendableresource) objects. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciA **Resource** object can be held by the [Sendable](../../arkts-utils/arkts-sendable.md) class after being converted into a **SendableResource** object. After cross-thread transmission, the **Sendable** class converts the **SendableResource** object into a **Resource** object and uses it as an input parameter for the API used to obtain resources. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci> **NOTE** 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## Modules to Import 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci```js 14e41f4b71Sopenharmony_ciimport sendableResourceManager from '@ohos.sendableResourceManager'; 15e41f4b71Sopenharmony_ci``` 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## sendableResourceManager.resourceToSendableResource 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciresourceToSendableResource(resource: Resource): SendableResource 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ciConverts a **Resource** object to a **SendableResource** object. 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Global.ResourceManager 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**Parameters** 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 28e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ----------------------------- | 29e41f4b71Sopenharmony_ci| resource | [Resource](#resource) | Yes | **Resource** object.| 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**Return value** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci| Type | Description | 34e41f4b71Sopenharmony_ci| ------ | ---------------------------- | 35e41f4b71Sopenharmony_ci| [SendableResource](#sendableresource) | **SendableResource** object after conversion.| 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**Error codes** 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci| ID| Error Message| 42e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 43e41f4b71Sopenharmony_ci| 401 | If the input parameter invalid. Possible causes: <br>1.Incorrect parameter types; <br>2.Parameter verification failed. | 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci**Example** 46e41f4b71Sopenharmony_ci ```js 47e41f4b71Sopenharmony_ciimport sendableResourceManager from '@ohos.sendableResourceManager'; 48e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_citry { 51e41f4b71Sopenharmony_ci let sendableResource: sendableResourceManager.SendableResource = sendableResourceManager.resourceToSendableResource($r('app.string.test')); 52e41f4b71Sopenharmony_ci} catch (error) { 53e41f4b71Sopenharmony_ci let code = (error as BusinessError).code; 54e41f4b71Sopenharmony_ci let message = (error as BusinessError).message; 55e41f4b71Sopenharmony_ci console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`); 56e41f4b71Sopenharmony_ci} 57e41f4b71Sopenharmony_ci ``` 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci## sendableResourceManager.sendableResourceToResource 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_cisendableResourceToResource(sendableResource: SendableResource): Resource 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ciConverts a **SendableResource** object to a **Resource** object. 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Global.ResourceManager 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci**Parameters** 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 70e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ----------------------------- | 71e41f4b71Sopenharmony_ci| sendableResource | [SendableResource](#sendableresource) | Yes | **SendableResource** object.| 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci**Return value** 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci| Type | Description | 76e41f4b71Sopenharmony_ci| ------ | ---------------------------- | 77e41f4b71Sopenharmony_ci| [Resource](#resource) | **Resource** object after conversion.| 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci**Error codes** 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci| ID| Error Message| 84e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 85e41f4b71Sopenharmony_ci| 401 | If the input parameter invalid. Possible causes: <br>1.Incorrect parameter types; <br>2.Parameter verification failed. | 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci**Example** 88e41f4b71Sopenharmony_ci ```js 89e41f4b71Sopenharmony_ciimport sendableResourceManager from '@ohos.sendableResourceManager'; 90e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_citry { 93e41f4b71Sopenharmony_ci let resource: sendableResourceManager.Resource = sendableResourceManager.sendableResourceToResource(sendableResourceManager.resourceToSendableResource($r('app.string.test'))); 94e41f4b71Sopenharmony_ci} catch (error) { 95e41f4b71Sopenharmony_ci let code = (error as BusinessError).code; 96e41f4b71Sopenharmony_ci let message = (error as BusinessError).message; 97e41f4b71Sopenharmony_ci console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`); 98e41f4b71Sopenharmony_ci} 99e41f4b71Sopenharmony_ci ``` 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci## Resource 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ciDefines a **Resource** object. 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Global.ResourceManager 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci**Parameters** 108e41f4b71Sopenharmony_ci 109e41f4b71Sopenharmony_ci| Name | Type | Read-Only | Optional |Description | 110e41f4b71Sopenharmony_ci| ---------- | ------ | ----- | ---- | ---------------| 111e41f4b71Sopenharmony_ci| bundleName | string | No | No| Bundle name of the application.| 112e41f4b71Sopenharmony_ci| moduleName | string | No | No| Module name of the application.| 113e41f4b71Sopenharmony_ci| id | number | No | No| Resource ID. | 114e41f4b71Sopenharmony_ci| params | any[] | No | Yes| Other resource parameters, including the resource name, substitution value for the formatting API, and quantifier for the singular-plural formatting API. | 115e41f4b71Sopenharmony_ci| type | number | No | Yes| Resource type. | 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci## SendableResource 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ciDefines a **SendableResource** object. 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Global.ResourceManager 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci**Parameters** 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ci| Name | Type | Read-Only | Optional |Description | 126e41f4b71Sopenharmony_ci| ---------- | ------ | ----- | ---- | ---------------| 127e41f4b71Sopenharmony_ci| bundleName | string | No | No| Bundle name of the application.| 128e41f4b71Sopenharmony_ci| moduleName | string | No | No| Module name of the application.| 129e41f4b71Sopenharmony_ci| id | number | No | No| Resource ID. | 130e41f4b71Sopenharmony_ci| params | collections.Array<string \| number> | No | Yes| Other resource parameters, including the resource name, substitution value for the formatting API, and quantifier for the singular-plural formatting API. | 131e41f4b71Sopenharmony_ci| type | number | No | Yes| Resource type. | 132