• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.sendableResourceManager (Resource Manager)
2
3The **sendableResourceManager** module provides the [resourceToSendableResource](#sendableresourcemanagerresourcetosendableresource) and [sendableResourceToResource](#sendableresourcemanagersendableresourcetoresource) APIs to implement conversion between [Resource](#resource) and [SendableResource](#sendableresource) objects.
4
5A **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.
6
7> **NOTE**
8>
9> 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.
10
11## Modules to Import
12
13```js
14import sendableResourceManager from '@ohos.sendableResourceManager';
15```
16
17## sendableResourceManager.resourceToSendableResource
18
19resourceToSendableResource(resource: Resource): SendableResource
20
21Converts a **Resource** object to a **SendableResource** object.
22
23**System capability**: SystemCapability.Global.ResourceManager
24
25**Parameters**
26
27| Name     | Type                                      | Mandatory  | Description                           |
28| -------- | ---------------------------------------- | ---- | ----------------------------- |
29| resource | [Resource](#resource) | Yes   | **Resource** object.|
30
31**Return value**
32
33| Type    | Description         |
34| ------ | ---------------------------- |
35| [SendableResource](#sendableresource)  | **SendableResource** object after conversion.|
36
37**Error codes**
38
39For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
40
41| ID| Error Message|
42| -------- | ---------------------------------------- |
43| 401 | If the input parameter invalid. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed.                 |
44
45**Example**
46  ```json
47  // Resource file path: src/main/resources/base/element/string.json
48  {
49    "string": [
50      {
51        "name": "test",
52        "value": "I'm a test string resource."
53      }
54    ]
55  }
56  ```
57  ```js
58import sendableResourceManager from '@ohos.sendableResourceManager';
59import { BusinessError } from '@ohos.base';
60
61try {
62    let sendableResource: sendableResourceManager.SendableResource = sendableResourceManager.resourceToSendableResource($r('app.string.test'));
63} catch (error) {
64    let code = (error as BusinessError).code;
65    let message = (error as BusinessError).message;
66    console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`);
67}
68  ```
69
70## sendableResourceManager.sendableResourceToResource
71
72sendableResourceToResource(resource: SendableResource): Resource
73
74Converts a **SendableResource** object to a **Resource** object.
75
76**System capability**: SystemCapability.Global.ResourceManager
77
78**Parameters**
79
80| Name     | Type                                      | Mandatory  | Description                           |
81| -------- | ---------------------------------------- | ---- | ----------------------------- |
82| resource | [SendableResource](#sendableresource) | Yes   | **SendableResource** object.|
83
84**Return value**
85
86| Type    | Description         |
87| ------ | ---------------------------- |
88| [Resource](#resource) | **Resource** object after conversion.|
89
90**Error codes**
91
92For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
93
94| ID| Error Message|
95| -------- | ---------------------------------------- |
96| 401 | If the input parameter invalid. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed.                 |
97
98**Example**
99  ```json
100  // Resource file path: src/main/resources/base/element/string.json
101  {
102    "string": [
103      {
104        "name": "test",
105        "value": "I'm a test string resource."
106      }
107    ]
108  }
109  ```
110  ```js
111import sendableResourceManager from '@ohos.sendableResourceManager';
112import { BusinessError } from '@ohos.base';
113
114try {
115    let resource: sendableResourceManager.Resource = sendableResourceManager.sendableResourceToResource(sendableResourceManager.resourceToSendableResource($r('app.string.test')));
116} catch (error) {
117    let code = (error as BusinessError).code;
118    let message = (error as BusinessError).message;
119    console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`);
120}
121  ```
122
123## Resource
124
125Defines a **Resource** object.
126
127**System capability**: SystemCapability.Global.ResourceManager
128
129**Parameters**
130
131| Name        | Type    | Read-Only  | Optional |Description         |
132| ---------- | ------ | ----- | ----  | ---------------|
133| bundleName | string | No   | No| Bundle name of the application.|
134| moduleName | string | No   | No| Module name of the application.|
135| id         | number | No   | No| Resource ID.     |
136| 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.     |
137| type       | number | No   | Yes| Resource type.     |
138
139## SendableResource
140
141type SendableResource = _SendableResource
142
143**System capability**: SystemCapability.Global.ResourceManager
144
145| Type        | Description    |
146| ---------- | ------ |
147| [_SendableResource](js-apis-sendableResource.md#sendableresource-1)|**SendableResource** object.|
148