• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.sendableResourceManager (资源管理)
2
3<!--Kit: Localization Kit-->
4<!--Subsystem: Global-->
5<!--Owner: @liule_123-->
6<!--Designer: @buda_wy-->
7<!--Tester: @lpw_work-->
8<!--Adviser: @Brilliantry_Rui-->
9
10资源管理导入sendableResourceManager模块,通过调用[resourceToSendableResource](#sendableresourcemanagerresourcetosendableresource)和[sendableResourceToResource](#sendableresourcemanagersendableresourcetoresource)方法可以将[Resource](#resource)对象和[SendableResource](#sendableresource)对象进行互转。
11
12Resource对象通过转换为SendableResource对象后,可以被[Sendable类](../../arkts-utils/arkts-sendable.md)持有。Sendable类在跨线程传输后,取出持有的SendableResource对象转为Resource对象,作为参数获取资源。
13
14> **说明:**
15>
16> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
17
18## 导入模块
19
20```js
21import sendableResourceManager from '@ohos.sendableResourceManager';
22```
23
24## sendableResourceManager.resourceToSendableResource
25
26resourceToSendableResource(resource: Resource): SendableResource
27
28将Resource对象转换为SendableResource对象。
29
30**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
31
32**系统能力**:SystemCapability.Global.ResourceManager
33
34**参数:**
35
36| 参数名      | 类型                                       | 必填   | 说明                            |
37| -------- | ---------------------------------------- | ---- | ----------------------------- |
38| resource | [Resource](#resource) | 是    | Resource对象。 |
39
40**返回值:**
41
42| 类型     | 说明          |
43| ------ | ---------------------------- |
44| [SendableResource](#sendableresource)  | 转换后的SendableResource对象。 |
45
46**错误码:**
47
48以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
49
50| 错误码ID | 错误信息 |
51| -------- | ---------------------------------------- |
52| 401 | If the input parameter invalid. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed.                 |
53
54**示例:**
55  ```json
56  // 资源文件路径: src/main/resources/base/element/string.json
57  {
58    "string": [
59      {
60        "name": "test",
61        "value": "I'm a test string resource."
62      }
63    ]
64  }
65  ```
66  ```js
67import sendableResourceManager from '@ohos.sendableResourceManager';
68import { BusinessError } from '@ohos.base';
69
70try {
71    let sendableResource: sendableResourceManager.SendableResource = sendableResourceManager.resourceToSendableResource($r('app.string.test'));
72} catch (error) {
73    let code = (error as BusinessError).code;
74    let message = (error as BusinessError).message;
75    console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`);
76}
77  ```
78
79## sendableResourceManager.sendableResourceToResource
80
81sendableResourceToResource(resource: SendableResource): Resource
82
83将SendableResource对象转换为Resource对象。
84
85**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
86
87**系统能力**:SystemCapability.Global.ResourceManager
88
89**参数:**
90
91| 参数名      | 类型                                       | 必填   | 说明                            |
92| -------- | ---------------------------------------- | ---- | ----------------------------- |
93| resource | [SendableResource](#sendableresource) | 是    | SendableResource对象。 |
94
95**返回值:**
96
97| 类型     | 说明          |
98| ------ | ---------------------------- |
99| [Resource](#resource) | 转换后的Resource对象。 |
100
101**错误码:**
102
103以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
104
105| 错误码ID | 错误信息 |
106| -------- | ---------------------------------------- |
107| 401 | If the input parameter invalid. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed.                 |
108
109**示例:**
110  ```json
111  // 资源文件路径: src/main/resources/base/element/string.json
112  {
113    "string": [
114      {
115        "name": "test",
116        "value": "I'm a test string resource."
117      }
118    ]
119  }
120  ```
121  ```js
122import sendableResourceManager from '@ohos.sendableResourceManager';
123import { BusinessError } from '@ohos.base';
124
125try {
126    let resource: sendableResourceManager.Resource = sendableResourceManager.sendableResourceToResource(sendableResourceManager.resourceToSendableResource($r('app.string.test')));
127} catch (error) {
128    let code = (error as BusinessError).code;
129    let message = (error as BusinessError).message;
130    console.error(`resourceToSendableResource failed, error code: ${code}, message: ${message}.`);
131}
132  ```
133
134## Resource
135
136type Resource = _Resource
137
138**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
139
140**系统能力:** SystemCapability.Global.ResourceManager
141
142| 类型    | 说明   |
143| ------  | ---- |
144|[_Resource](js-apis-resource.md#resource-1)| 表示Resource资源信息。|
145
146## SendableResource
147
148type SendableResource = _SendableResource
149
150**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
151
152**系统能力:** SystemCapability.Global.ResourceManager
153
154| 类型         | 说明     |
155| ---------- | ------ |
156| [_SendableResource](js-apis-sendableResource.md#sendableresource-1)|表示SendableResource资源信息。|