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资源信息。|