js-apis-resource-manager.md 51.2 KB
Newer Older
1
# 资源管理
Z
zengyawen 已提交
2

3 4
资源管理模块,根据当前configuration(语言,区域,横竖屏,mccmnc)和device capability(设备类型,分辨率)提供获取应用资源信息读取接口。

5 6
> **说明:**
>
W
wplan1 已提交
7
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
8

Z
zengyawen 已提交
9 10

## 导入模块
Z
zengyawen 已提交
11

H
HelloCrease 已提交
12
```js
Z
zengyawen 已提交
13 14 15
import resourceManager from '@ohos.resourceManager';
```

H
huangjie 已提交
16 17
## 使用说明

H
huangjie 已提交
18
从API Version9开始,Stage模型支持了通过context获取resourceManager对象的方式,再调用其内部获取资源的接口,无需再导入包,此方式FA模型不适用。
H
huangjie 已提交
19

H
HelloCrease 已提交
20
```ts
H
huangjie 已提交
21 22 23
this.context.resourceManager;
```

Z
zengyawen 已提交
24 25 26
## resourceManager.getResourceManager

getResourceManager(callback: AsyncCallback<ResourceManager>): void
Z
zengyawen 已提交
27 28 29

获取当前应用的资源管理对象,使用callback形式返回ResourceManager对象。

H
huangjie 已提交
30 31
此接口仅可在FA模型下使用。

V
VictoriaGuo 已提交
32 33
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
34 35 36 37
**参数:** 
| 参数名      | 类型                                       | 必填   | 说明                            |
| -------- | ---------------------------------------- | ---- | ----------------------------- |
| callback | AsyncCallback<[ResourceManager](#resourcemanager)> | 是    | callback方式返回ResourceManager对象 |
Z
zengyawen 已提交
38

H
HelloCrease 已提交
39
**示例:** 
H
HelloCrease 已提交
40
  ```js
Z
zengyawen 已提交
41 42
  resourceManager.getResourceManager((error, mgr) => {
      if (error != null) {
W
wplan1 已提交
43
          console.log("error is " + error);
Z
zengyawen 已提交
44 45 46 47
          return; 
      }
      mgr.getString(0x1000000, (error, value) => {
          if (error != null) {
W
wplan1 已提交
48
              console.log("error is " + error);
Z
zengyawen 已提交
49
          } else {
W
wplan1 已提交
50
              let str = value;
Z
zengyawen 已提交
51 52 53 54 55 56 57 58 59
          }
      });
  });
  ```


## resourceManager.getResourceManager

getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>): void
Z
zengyawen 已提交
60 61 62

获取指定应用的资源管理对象,使用callback形式返回ResourceManager对象。

H
huangjie 已提交
63 64
此接口仅可在FA模型下使用。

V
VictoriaGuo 已提交
65 66
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
67 68 69 70 71
**参数:** 
| 参数名        | 类型                                       | 必填   | 说明                            |
| ---------- | ---------------------------------------- | ---- | ----------------------------- |
| bundleName | string                                   | 是    | 指定应用的Bundle名称                 |
| callback   | AsyncCallback<[ResourceManager](#resourcemanager)> | 是    | callback方式返回ResourceManager对象 |
Z
zengyawen 已提交
72

H
HelloCrease 已提交
73
**示例:** 
H
HelloCrease 已提交
74
  ```js
Z
zengyawen 已提交
75 76 77 78 79 80 81 82
  resourceManager.getResourceManager("com.example.myapplication", (error, mgr) => {
  });
  ```


## resourceManager.getResourceManager

getResourceManager(): Promise<ResourceManager>
Z
zengyawen 已提交
83 84 85

获取当前应用的资源管理对象,使用Promise形式返回ResourceManager对象。

H
huangjie 已提交
86 87
此接口仅可在FA模型下使用。

V
VictoriaGuo 已提交
88 89
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
90 91 92 93
**返回值:** 
| 类型                                       | 说明                |
| ---------------------------------------- | ----------------- |
| Promise<[ResourceManager](#resourcemanager)> | Promise方式返回资源管理对象 |
Z
zengyawen 已提交
94

H
HelloCrease 已提交
95
**示例:** 
H
HelloCrease 已提交
96
  ```js
Z
zengyawen 已提交
97 98 99
  resourceManager.getResourceManager().then(mgr => {
      mgr.getString(0x1000000, (error, value) => {
          if (error != null) {
W
wplan1 已提交
100
              console.log("error is " + error);
Z
zengyawen 已提交
101
          } else {
W
wplan1 已提交
102
              let str = value;
Z
zengyawen 已提交
103 104 105
          }
      });
  }).catch(error => {
W
wplan1 已提交
106
      console.log("error is " + error);
Z
zengyawen 已提交
107 108 109 110 111 112 113
  });
  ```


## resourceManager.getResourceManager

getResourceManager(bundleName: string): Promise<ResourceManager>
Z
zengyawen 已提交
114 115 116

获取指定应用的资源管理对象,使用Promise形式返回ResourceManager对象。

H
huangjie 已提交
117 118
此接口仅可在FA模型下使用。

V
VictoriaGuo 已提交
119 120
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
121 122 123 124
**参数:** 
| 参数名        | 类型     | 必填   | 说明            |
| ---------- | ------ | ---- | ------------- |
| bundleName | string | 是    | 指定应用的Bundle名称 |
Z
zengyawen 已提交
125

H
HelloCrease 已提交
126 127 128 129
**返回值:** 
| 类型                                       | 说明                 |
| ---------------------------------------- | ------------------ |
| Promise<[ResourceManager](#resourcemanager)> | Promise方式返回的资源管理对象 |
Z
zengyawen 已提交
130

H
HelloCrease 已提交
131
**示例:** 
H
HelloCrease 已提交
132
  ```js
Z
zengyawen 已提交
133 134 135 136 137 138 139
  resourceManager.getResourceManager("com.example.myapplication").then(mgr => {
  }).catch(error => {
  });
  ```


## Direction
Z
zengyawen 已提交
140 141 142

用于表示设备屏幕方向。

H
HelloCrease 已提交
143
**系统能力**:SystemCapability.Global.ResourceManager
H
HelloCrease 已提交
144 145 146 147 148

| 名称                   | 默认值  | 说明   |
| -------------------- | ---- | ---- |
| DIRECTION_VERTICAL   | 0    | 竖屏   |
| DIRECTION_HORIZONTAL | 1    | 横屏   |
Z
zengyawen 已提交
149 150 151


## DeviceType
Z
zengyawen 已提交
152 153 154

用于表示当前设备类型。

H
HelloCrease 已提交
155
**系统能力**:SystemCapability.Global.ResourceManager
H
HelloCrease 已提交
156 157 158 159 160 161 162 163 164

| 名称                   | 默认值  | 说明   |
| -------------------- | ---- | ---- |
| DEVICE_TYPE_PHONE    | 0x00 | 手机   |
| DEVICE_TYPE_TABLET   | 0x01 | 平板   |
| DEVICE_TYPE_CAR      | 0x02 | 汽车   |
| DEVICE_TYPE_PC       | 0x03 | 电脑   |
| DEVICE_TYPE_TV       | 0x04 | 电视   |
| DEVICE_TYPE_WEARABLE | 0x06 | 穿戴   |
Z
zengyawen 已提交
165 166 167


## ScreenDensity
Z
zengyawen 已提交
168 169 170

用于表示当前设备屏幕密度。

H
HelloCrease 已提交
171
**系统能力**:SystemCapability.Global.ResourceManager
H
HelloCrease 已提交
172 173 174 175 176 177 178 179 180

| 名称             | 默认值  | 说明         |
| -------------- | ---- | ---------- |
| SCREEN_SDPI    | 120  | 小规模的屏幕密度   |
| SCREEN_MDPI    | 160  | 中规模的屏幕密度   |
| SCREEN_LDPI    | 240  | 大规模的屏幕密度   |
| SCREEN_XLDPI   | 320  | 特大规模的屏幕密度  |
| SCREEN_XXLDPI  | 480  | 超大规模的屏幕密度  |
| SCREEN_XXXLDPI | 640  | 超特大规模的屏幕密度 |
Z
zengyawen 已提交
181 182 183


## Configuration
Z
zengyawen 已提交
184 185 186

表示当前设备的状态。

H
HelloCrease 已提交
187
**系统能力**:SystemCapability.Global.ResourceManager
H
HelloCrease 已提交
188

Z
zengyawen 已提交
189

H
HelloCrease 已提交
190 191 192 193
| 名称        | 参数类型                    | 可读   | 可写   | 说明       |
| --------- | ----------------------- | ---- | ---- | -------- |
| direction | [Direction](#direction) | 是    | 否    | 当前设备屏幕方向 |
| locale    | string                  | 是    | 否    | 当前系统语言   |
Z
zengyawen 已提交
194

195 196
**示例:**

H
HelloCrease 已提交
197
  ```js
198 199
resourceManager.getResourceManager((error, mgr) => {
      mgr.getConfiguration((error, value) => {
W
wplan1 已提交
200 201
          let direction = value.direction;
          let locale = value.locale;
202 203 204
      });
  });
  ```
Z
zengyawen 已提交
205 206

## DeviceCapability
Z
zengyawen 已提交
207 208 209

表示设备支持的能力。

H
HelloCrease 已提交
210
**系统能力**:SystemCapability.Global.ResourceManager
H
HelloCrease 已提交
211

Z
zengyawen 已提交
212

H
HelloCrease 已提交
213 214 215 216
| 名称            | 参数类型                            | 可读   | 可写   | 说明       |
| ------------- | ------------------------------- | ---- | ---- | -------- |
| screenDensity | [ScreenDensity](#screendensity) | 是    | 否    | 当前设备屏幕密度 |
| deviceType    | [DeviceType](#devicetype)       | 是    | 否    | 当前设备类型   |
Z
zengyawen 已提交
217

218 219
**示例:**

H
HelloCrease 已提交
220
  ```js
221 222
resourceManager.getResourceManager((error, mgr) => {
      mgr.getDeviceCapability((error, value) => {
W
wplan1 已提交
223 224
          let screenDensity = value.screenDensity;
          let deviceType = value.deviceType;
225 226 227
      });
  });
  ```
Z
zengyawen 已提交
228

W
wplan1 已提交
229 230
## RawFileDescriptor<sup>8+</sup>

H
HelloCrease 已提交
231 232 233
表示rawfile的descriptor信息。

**系统能力:** SystemCapability.Global.ResourceManager
W
wplan1 已提交
234

H
HelloCrease 已提交
235 236 237 238 239
| 名称     | 类型     | 说明                 |
| ------ | ------ | ------------------ |
| fd     | number | rawfile的descriptor |
| offset | number | rawfile的起始偏移量      |
| length | number | rawfile的文件长度       |
W
wplan1 已提交
240

241
## Resource<sup>9+</sup>
242 243 244 245 246

表示的资源信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
247 248
| 名称         | 类型     | 说明          |
| ---------- | ------ | ----------- |
249
| bundleName | string | 应用的bundle名称 |
H
HelloCrease 已提交
250 251
| moduleName | string | 应用的module名称 |
| id         | number | 资源的id值      |
252

W
wplan1 已提交
253

Z
zengyawen 已提交
254
## ResourceManager
Z
zengyawen 已提交
255 256 257

提供访问应用资源的能力。

258 259
> **说明:**
>
Z
zengyawen 已提交
260
> - ResourceManager涉及到的方法,仅限基于TS扩展的声明式开发范式使用。
H
HelloCrease 已提交
261
>
Z
zengyawen 已提交
262 263
> - 资源文件在工程的resources目录中定义,id可通过$r(资源地址).id的方式获取,例如$r('app.string.test').id。

Z
zengyawen 已提交
264

Z
zengyawen 已提交
265 266 267
### getString

getString(resId: number, callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
268 269 270

用户获取指定资源ID对应的字符串,使用callback形式返回字符串。

V
VictoriaGuo 已提交
271 272
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
273 274 275 276 277
**参数:** 
| 参数名      | 类型                          | 必填   | 说明              |
| -------- | --------------------------- | ---- | --------------- |
| resId    | number                      | 是    | 资源ID值           |
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,用于返回获取的字符串 |
Z
zengyawen 已提交
278

H
HelloCrease 已提交
279
**示例:** 
H
HelloCrease 已提交
280
  ```ts
Z
zengyawen 已提交
281 282 283
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getString($r('app.string.test').id, (error, value) => {
          if (error != null) {
W
wplan1 已提交
284
              console.log("error is " + error);
Z
zengyawen 已提交
285
          } else {
W
wplan1 已提交
286
              let str = value;
Z
zengyawen 已提交
287 288 289 290 291 292 293 294 295
          }
      });
  });
  ```


### getString

getString(resId: number): Promise&lt;string&gt;
Z
zengyawen 已提交
296 297 298

用户获取指定资源ID对应的字符串,使用Promise形式返回字符串。

V
VictoriaGuo 已提交
299 300
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
301 302 303 304
**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |
Z
zengyawen 已提交
305

H
HelloCrease 已提交
306 307 308 309
**返回值:** 
| 类型                    | 说明          |
| --------------------- | ----------- |
| Promise&lt;string&gt; | 资源ID值对应的字符串 |
Z
zengyawen 已提交
310

H
HelloCrease 已提交
311
**示例:** 
H
HelloCrease 已提交
312
  ```ts
Z
zengyawen 已提交
313 314
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getString($r('app.string.test').id).then(value => {
W
wplan1 已提交
315
          let str = value;
Z
zengyawen 已提交
316
      }).catch(error => {
W
wplan1 已提交
317
          console.log("getstring promise error is " + error);
Z
zengyawen 已提交
318 319 320 321 322
      });
  });
  ```


323 324 325 326 327 328 329 330 331 332 333
### getString<sup>9+</sup>

getString(resource: Resource, callback: AsyncCallback&lt;string&gt;): void

用户获取指定resource对象对应的字符串,使用callback形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名      | 类型                          | 必填   | 说明              |
| -------- | --------------------------- | ---- | --------------- |
H
HelloCrease 已提交
334
| resource | [Resource](#resource9)      | 是    | 资源信息            |
335 336 337
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,用于返回获取的字符串 |

**示例:** 
H
HelloCrease 已提交
338
  ```ts
339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.string.test').id
  };
  this.context.resourceManager.getString(resource, (error, value) => {
      if (error != null) {
          console.log("error is " + error);
      } else {
          let str = value;
      }
  });
  ```

### getString<sup>9+</sup>

getString(resource: Resource): Promise&lt;string&gt;

用户获取指定resource对象对应的字符串,使用Promise形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
362 363
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
364
| resource | [Resource](#resource9) | 是    | 资源信息 |
365 366

**返回值:** 
H
HelloCrease 已提交
367 368
| 类型                    | 说明               |
| --------------------- | ---------------- |
369 370 371
| Promise&lt;string&gt; | resource对象对应的字符串 |

**示例:** 
H
HelloCrease 已提交
372
  ```ts
373 374 375 376 377 378 379 380 381 382 383 384
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.string.test').id
  };
  this.context.resourceManager.getString(resource).then(value => {
      let str = value;
  }).catch(error => {
      console.log("getstring promise error is " + error);
  });
  ```

Z
zengyawen 已提交
385 386 387
### getStringArray

getStringArray(resId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
Z
zengyawen 已提交
388 389 390

用户获取指定资源ID对应的字符串数组,使用callback形式返回字符串数组。

V
VictoriaGuo 已提交
391 392
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
393 394 395 396 397
**参数:** 
| 参数名      | 类型                                       | 必填   | 说明                |
| -------- | ---------------------------------------- | ---- | ----------------- |
| resId    | number                                   | 是    | 资源ID值             |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是    | 异步回调,用于返回获取的字符串数组 |
Z
zengyawen 已提交
398

H
HelloCrease 已提交
399
**示例:** 
H
HelloCrease 已提交
400
  ```ts
Z
zengyawen 已提交
401 402 403
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getStringArray($r('app.strarray.test').id, (error, value) => {
          if (error != null) {
W
wplan1 已提交
404
              console.log("error is " + error);
Z
zengyawen 已提交
405
          } else {
W
wplan1 已提交
406
              let strArray = value;
Z
zengyawen 已提交
407 408 409 410 411 412 413 414 415
          }
      });
  });
  ```


### getStringArray

getStringArray(resId: number): Promise&lt;Array&lt;string&gt;&gt;
Z
zengyawen 已提交
416 417 418

用户获取指定资源ID对应的字符串数组,使用Promise形式返回字符串数组。

V
VictoriaGuo 已提交
419 420
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
421 422 423 424
**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |
Z
zengyawen 已提交
425

H
HelloCrease 已提交
426 427 428 429
**返回值:** 
| 类型                                 | 说明            |
| ---------------------------------- | ------------- |
| Promise&lt;Array&lt;string&gt;&gt; | 资源ID值对应的字符串数组 |
Z
zengyawen 已提交
430

H
HelloCrease 已提交
431
**示例:** 
H
HelloCrease 已提交
432
  ```ts
Z
zengyawen 已提交
433 434
  resourceManager.getResourceManager((error, mgr) => {
       mgr.getStringArray($r('app.strarray.test').id).then(value => {
W
wplan1 已提交
435
          let strArray = value;
Z
zengyawen 已提交
436
      }).catch(error => {
W
wplan1 已提交
437
          console.log("getStringArray promise error is " + error);
Z
zengyawen 已提交
438 439 440 441
      });
  });
  ```

442 443 444 445 446 447 448 449 450
### getStringArray<sup>9+</sup>

getStringArray(resource: Resource, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void

用户获取指定resource对象对应的字符串数组,使用callback形式返回回字符串数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
451 452 453
| 参数名      | 类型                                       | 必填   | 说明                |
| -------- | ---------------------------------------- | ---- | ----------------- |
| resource | [Resource](#resource9)                   | 是    | 资源信息              |
454 455 456
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是    | 异步回调,用于返回获取的字符串数组 |

**示例:** 
H
HelloCrease 已提交
457
  ```ts
458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.strarray.test').id
  };
  this.context.resourceManager.getStringArray(resource, (error, value) => {
      if (error != null) {
          console.log("error is " + error);
      } else {
          let strArray = value;
      }
  });
  ```

### getStringArray<sup>9+</sup>

getStringArray(resource: Resource): Promise&lt;Array&lt;string&gt;&gt;

用户获取指定resource对象对应的字符串数组,使用Promise形式返回字符串数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
481 482
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
483
| resource | [Resource](#resource9) | 是    | 资源信息 |
484 485

**返回值:** 
H
HelloCrease 已提交
486 487
| 类型                                 | 说明                 |
| ---------------------------------- | ------------------ |
488 489 490
| Promise&lt;Array&lt;string&gt;&gt; | resource对象对应的字符串数组 |

**示例:** 
H
HelloCrease 已提交
491
  ```ts
492 493 494 495 496 497 498 499 500 501 502
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.strarray.test').id
  };
  this.context.resourceManager.getStringArray(resource).then(value => {
      let strArray = value;
  }).catch(error => {
      console.log("getStringArray promise error is " + error);
  });
  ```
Z
zengyawen 已提交
503 504 505 506

### getMedia

getMedia(resId: number, callback: AsyncCallback&lt;Uint8Array&gt;): void
Z
zengyawen 已提交
507 508 509

用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。

V
VictoriaGuo 已提交
510 511
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
512 513 514 515 516
**参数:** 
| 参数名      | 类型                              | 必填   | 说明                 |
| -------- | ------------------------------- | ---- | ------------------ |
| resId    | number                          | 是    | 资源ID值              |
| callback | AsyncCallback&lt;Uint8Array&gt; | 是    | 异步回调,用于返回获取的媒体文件内容 |
Z
zengyawen 已提交
517

H
HelloCrease 已提交
518
**示例:** 
H
HelloCrease 已提交
519
  ```ts
Z
zengyawen 已提交
520 521 522
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getMedia($r('app.media.test').id, (error, value) => {
          if (error != null) {
W
wplan1 已提交
523
              console.log("error is " + error);
Z
zengyawen 已提交
524
          } else {
W
wplan1 已提交
525
              let media = value;
Z
zengyawen 已提交
526 527 528 529 530 531 532 533 534
          }
      });
  });
  ```


### getMedia

getMedia(resId: number): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
535 536 537

用户获取指定资源ID对应的媒体文件内容,使用Promise形式返回字节数组。

V
VictoriaGuo 已提交
538 539
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
540 541 542 543
**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |
Z
zengyawen 已提交
544

H
HelloCrease 已提交
545 546 547 548
**返回值:** 
| 类型                        | 说明             |
| ------------------------- | -------------- |
| Promise&lt;Uint8Array&gt; | 资源ID值对应的媒体文件内容 |
Z
zengyawen 已提交
549

H
HelloCrease 已提交
550
**示例:** 
H
HelloCrease 已提交
551
  ```ts
Z
zengyawen 已提交
552 553
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getMedia($r('app.media.test').id).then(value => {
W
wplan1 已提交
554
          let media = value;
Z
zengyawen 已提交
555
      }).catch(error => {
W
wplan1 已提交
556
          console.log("getMedia promise error is " + error);
Z
zengyawen 已提交
557 558 559 560
      });
  });
  ```

561 562 563 564 565 566 567 568 569
### getMedia<sup>9+</sup>

getMedia(resource: Resource, callback: AsyncCallback&lt;Uint8Array&gt;): void

用户获取指定resource对象对应的媒体文件内容,使用callback形式返回字节数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
570 571 572
| 参数名      | 类型                              | 必填   | 说明                 |
| -------- | ------------------------------- | ---- | ------------------ |
| resource | [Resource](#resource9)          | 是    | 资源信息               |
573 574 575
| callback | AsyncCallback&lt;Uint8Array&gt; | 是    | 异步回调,用于返回获取的媒体文件内容 |

**示例:** 
H
HelloCrease 已提交
576
  ```ts
577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.media.test').id
  };
  this.context.resourceManager.getMedia(resource, (error, value) => {
      if (error != null) {
          console.log("error is " + error);
      } else {
          let media = value;
      }
  });
  ```

### getMedia<sup>9+</sup>

getMedia(resource: Resource): Promise&lt;Uint8Array&gt;

用户获取指定resource对象对应的媒体文件内容,使用Promise形式返回字节数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
600 601
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
602
| resource | [Resource](#resource9) | 是    | 资源信息 |
603 604

**返回值:** 
H
HelloCrease 已提交
605 606
| 类型                        | 说明                  |
| ------------------------- | ------------------- |
607 608 609
| Promise&lt;Uint8Array&gt; | resource对象对应的媒体文件内容 |

**示例:** 
H
HelloCrease 已提交
610
  ```ts
611 612 613 614 615 616 617 618 619 620 621
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.media.test').id
  };
  this.context.resourceManager.getMedia(resource).then(value => {
      let media = value;
  }).catch(error => {
      console.log("getMedia promise error is " + error);
  });
  ```
Z
zengyawen 已提交
622 623 624 625

### getMediaBase64

getMediaBase64(resId: number, callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
626 627 628

用户获取指定资源ID对应的图片资源Base64编码,使用callback形式返回字符串。

V
VictoriaGuo 已提交
629 630
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
631 632 633 634 635
**参数:** 
| 参数名      | 类型                          | 必填   | 说明                       |
| -------- | --------------------------- | ---- | ------------------------ |
| resId    | number                      | 是    | 资源ID值                    |
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,用于返回获取的图片资源Base64编码 |
Z
zengyawen 已提交
636

H
HelloCrease 已提交
637
**示例:** 
H
HelloCrease 已提交
638
  ```ts
Z
zengyawen 已提交
639 640 641
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getMediaBase64($r('app.media.test').id, (error, value) => {
          if (error != null) {
W
wplan1 已提交
642
              console.log("error is " + error);
Z
zengyawen 已提交
643
          } else {
W
wplan1 已提交
644
              let media = value;
Z
zengyawen 已提交
645 646 647 648 649 650 651 652 653
          }
      });
  });
  ```


### getMediaBase64

getMediaBase64(resId: number): Promise&lt;string&gt;
Z
zengyawen 已提交
654 655 656

用户获取指定资源ID对应的图片资源Base64编码,使用Promise形式返回字符串。

V
VictoriaGuo 已提交
657 658
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
659 660 661 662
**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |
Z
zengyawen 已提交
663

H
HelloCrease 已提交
664 665 666 667
**返回值:** 
| 类型                    | 说明                   |
| --------------------- | -------------------- |
| Promise&lt;string&gt; | 资源ID值对应的图片资源Base64编码 |
Z
zengyawen 已提交
668

H
HelloCrease 已提交
669
**示例:** 
H
HelloCrease 已提交
670
  ```ts
Z
zengyawen 已提交
671 672
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getMediaBase64($r('app.media.test').id).then(value => {
W
wplan1 已提交
673
          let media = value;
Z
zengyawen 已提交
674
      }).catch(error => {
W
wplan1 已提交
675
          console.log("getMediaBase64 promise error is " + error);
Z
zengyawen 已提交
676 677 678 679
      });
  });
  ```

680 681 682 683 684 685 686 687 688 689 690
### getMediaBase64<sup>9+</sup>

getMediaBase64(resource: Resource, callback: AsyncCallback&lt;string&gt;): void

用户获取指定resource对象对应的图片资源Base64编码,使用callback形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名      | 类型                          | 必填   | 说明                       |
| -------- | --------------------------- | ---- | ------------------------ |
H
HelloCrease 已提交
691
| resource | [Resource](#resource9)      | 是    | 资源信息                     |
692 693 694
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,用于返回获取的图片资源Base64编码 |

**示例:** 
H
HelloCrease 已提交
695
  ```ts
696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.media.test').id
  };
  this.context.resourceManager.getMediaBase64(resource, (error, value) => {
      if (error != null) {
          console.log("error is " + error);
      } else {
          let media = value;
      }
  });
  ```

### getMediaBase64<sup>9+</sup>

getMediaBase64(resource: Resource): Promise&lt;string&gt;

用户获取指定resource对象对应的图片资源Base64编码,使用Promise形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
719 720
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
721
| resource | [Resource](#resource9) | 是    | 资源信息 |
722 723

**返回值:** 
H
HelloCrease 已提交
724 725
| 类型                    | 说明                        |
| --------------------- | ------------------------- |
726 727 728
| Promise&lt;string&gt; | resource对象对应的图片资源Base64编码 |

**示例:** 
H
HelloCrease 已提交
729
  ```ts
730 731 732 733 734 735 736 737 738 739 740 741
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.media.test').id
  };
  this.context.resourceManager.getMediaBase64(resource).then(value => {
      let media = value;
  }).catch(error => {
      console.log("getMediaBase64 promise error is " + error);
  });
  ```

Z
zengyawen 已提交
742 743 744 745

### getConfiguration

getConfiguration(callback: AsyncCallback&lt;Configuration&gt;): void
Z
zengyawen 已提交
746 747 748

用户获取设备的Configuration,使用callback形式返回Configuration对象。

V
VictoriaGuo 已提交
749 750
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
751 752 753 754
**参数:** 
| 参数名      | 类型                                       | 必填   | 说明                        |
| -------- | ---------------------------------------- | ---- | ------------------------- |
| callback | AsyncCallback&lt;[Configuration](#configuration)&gt; | 是    | 异步回调,用于返回设备的Configuration |
Z
zengyawen 已提交
755

H
HelloCrease 已提交
756
**示例:** 
H
HelloCrease 已提交
757
  ```ts
Z
zengyawen 已提交
758 759 760
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getConfiguration((error, value) => {
          if (error != null) {
W
wplan1 已提交
761
              console.log("error is " + error);
Z
zengyawen 已提交
762
          } else {
W
wplan1 已提交
763 764
              let direction = value.direction;
              let locale = value.locale;
Z
zengyawen 已提交
765 766 767 768
          }
      });
  });
  ```
Z
zengyawen 已提交
769 770


Z
zengyawen 已提交
771
### getConfiguration
Z
zengyawen 已提交
772

Z
zengyawen 已提交
773 774 775
getConfiguration(): Promise&lt;Configuration&gt;

用户获取设备的Configuration,使用Promise形式返回Configuration对象。
Z
zengyawen 已提交
776

V
VictoriaGuo 已提交
777 778
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
779 780 781 782
**返回值:** 
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
| Promise&lt;[Configuration](#configuration)&gt; | 设备的Configuration |
Z
zengyawen 已提交
783

H
HelloCrease 已提交
784
**示例:** 
H
HelloCrease 已提交
785
  ```ts
Z
zengyawen 已提交
786 787
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getConfiguration().then(value => {
W
wplan1 已提交
788 789
          let direction = value.direction;
          let locale = value.locale;
Z
zengyawen 已提交
790
      }).catch(error => {
W
wplan1 已提交
791
          console.log("getConfiguration promise error is " + error);
Z
zengyawen 已提交
792 793 794
      });
  });
  ```
Z
zengyawen 已提交
795 796


Z
zengyawen 已提交
797 798 799
### getDeviceCapability

getDeviceCapability(callback: AsyncCallback&lt;DeviceCapability&gt;): void
Z
zengyawen 已提交
800 801 802

用户获取设备的DeviceCapability,使用callback形式返回DeviceCapability对象。

V
VictoriaGuo 已提交
803 804
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
805 806 807 808
**参数:** 
| 参数名      | 类型                                       | 必填   | 说明                           |
| -------- | ---------------------------------------- | ---- | ---------------------------- |
| callback | AsyncCallback&lt;[DeviceCapability](#devicecapability)&gt; | 是    | 异步回调,用于返回设备的DeviceCapability |
Z
zengyawen 已提交
809

H
HelloCrease 已提交
810
**示例:** 
H
HelloCrease 已提交
811
  ```ts
Z
zengyawen 已提交
812 813 814
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getDeviceCapability((error, value) => {
          if (error != null) {
W
wplan1 已提交
815
              console.log("error is " + error);
Z
zengyawen 已提交
816
          } else {
W
wplan1 已提交
817 818
              let screenDensity = value.screenDensity;
              let deviceType = value.deviceType;
Z
zengyawen 已提交
819 820 821 822
          }
      });
  });
  ```
Z
zengyawen 已提交
823 824


Z
zengyawen 已提交
825
### getDeviceCapability
Z
zengyawen 已提交
826

Z
zengyawen 已提交
827 828 829
getDeviceCapability(): Promise&lt;DeviceCapability&gt;

用户获取设备的DeviceCapability,使用Promise形式返回DeviceCapability对象。
Z
zengyawen 已提交
830

V
VictoriaGuo 已提交
831 832
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
833 834 835 836
**返回值:** 
| 类型                                       | 说明                  |
| ---------------------------------------- | ------------------- |
| Promise&lt;[DeviceCapability](#devicecapability)&gt; | 设备的DeviceCapability |
Z
zengyawen 已提交
837

H
HelloCrease 已提交
838
**示例:** 
H
HelloCrease 已提交
839
  ```ts
Z
zengyawen 已提交
840 841
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getDeviceCapability().then(value => {
W
wplan1 已提交
842 843
          let screenDensity = value.screenDensity;
          let deviceType = value.deviceType;
Z
zengyawen 已提交
844
      }).catch(error => {
W
wplan1 已提交
845
          console.log("getDeviceCapability promise error is " + error);
Z
zengyawen 已提交
846 847 848
      });
  });
  ```
Z
zengyawen 已提交
849 850


Z
zengyawen 已提交
851
### getPluralString
Z
zengyawen 已提交
852

Z
zengyawen 已提交
853
getPluralString(resId: number, num: number, callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
854 855 856

根据指定数量获取指定ID字符串表示的单复数字符串,使用callback形式返回字符串。

V
VictoriaGuo 已提交
857 858
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
859 860 861 862 863 864
**参数:** 
| 参数名      | 类型                          | 必填   | 说明                              |
| -------- | --------------------------- | ---- | ------------------------------- |
| resId    | number                      | 是    | 资源ID值                           |
| num      | number                      | 是    | 数量值                             |
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,返回根据指定数量获取指定ID字符串表示的单复数字符串 |
Z
zengyawen 已提交
865

H
HelloCrease 已提交
866
**示例:** 
H
HelloCrease 已提交
867
  ```ts
Z
zengyawen 已提交
868 869 870
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getPluralString($r("app.plural.test").id, 1, (error, value) => {
          if (error != null) {
W
wplan1 已提交
871
              console.log("error is " + error);
Z
zengyawen 已提交
872
          } else {
W
wplan1 已提交
873
              let str = value;
Z
zengyawen 已提交
874 875 876 877
          }
      });
  });
  ```
Z
zengyawen 已提交
878 879


Z
zengyawen 已提交
880
### getPluralString
Z
zengyawen 已提交
881

Z
zengyawen 已提交
882 883 884
getPluralString(resId: number, num: number): Promise&lt;string&gt;

根据指定数量获取对指定ID字符串表示的单复数字符串,使用Promise形式返回字符串。
Z
zengyawen 已提交
885

V
VictoriaGuo 已提交
886 887
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
888 889 890 891 892
**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |
| num   | number | 是    | 数量值   |
Z
zengyawen 已提交
893

H
HelloCrease 已提交
894 895 896 897
**返回值:** 
| 类型                    | 说明                        |
| --------------------- | ------------------------- |
| Promise&lt;string&gt; | 根据提供的数量获取对应ID字符串表示的单复数字符串 |
Z
zengyawen 已提交
898

H
HelloCrease 已提交
899
**示例:** 
H
HelloCrease 已提交
900
  ```ts
Z
zengyawen 已提交
901 902
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getPluralString($r("app.plural.test").id, 1).then(value => {
W
wplan1 已提交
903
          let str = value;
Z
zengyawen 已提交
904
      }).catch(error => {
W
wplan1 已提交
905
          console.log("getPluralString promise error is " + error);
Z
zengyawen 已提交
906 907 908
      });
  });
  ```
Z
zengyawen 已提交
909

910 911 912 913 914 915 916 917 918
### getPluralString<sup>9+</sup>

getPluralString(resource: Resource, num: number, callback: AsyncCallback&lt;string&gt;): void

根据指定数量获取指定resource对象表示的单复数字符串,使用callback形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
919 920 921 922
| 参数名      | 类型                          | 必填   | 说明                                   |
| -------- | --------------------------- | ---- | ------------------------------------ |
| resource | [Resource](#resource9)      | 是    | 资源信息                                 |
| num      | number                      | 是    | 数量值                                  |
923 924 925
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,返回根据指定数量获取指定resource对象表示的单复数字符串 |

**示例:** 
H
HelloCrease 已提交
926
  ```ts
927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.plural.test').id
  };
  this.context.resourceManager.getPluralString(resource, 1, (error, value) => {
      if (error != null) {
          console.log("error is " + error);
      } else {
          let str = value;
      }
  });
  ```

### getPluralString<sup>9+</sup>

getPluralString(resource: Resource, num: number): Promise&lt;string&gt;

根据指定数量获取对指定resource对象表示的单复数字符串,使用Promise形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
950 951
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
952
| resource | [Resource](#resource9) | 是    | 资源信息 |
H
HelloCrease 已提交
953
| num      | number                 | 是    | 数量值  |
954 955

**返回值:** 
H
HelloCrease 已提交
956 957
| 类型                    | 说明                             |
| --------------------- | ------------------------------ |
958 959 960
| Promise&lt;string&gt; | 根据提供的数量获取对应resource对象表示的单复数字符串 |

**示例:** 
H
HelloCrease 已提交
961
  ```ts
962 963 964 965 966 967 968 969 970 971 972 973
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.plural.test').id
  };
  this.context.resourceManager.getPluralString(resource, 1).then(value => {
      let str = value;
  }).catch(error => {
      console.log("getPluralString promise error is " + error);
  });
  ```

Z
zengyawen 已提交
974 975 976 977
### getRawFile<sup>8+</sup>

getRawFile(path: string, callback: AsyncCallback&lt;Uint8Array&gt;): void

H
huangjie 已提交
978
用户获取resources/rawfile目录下对应的rawfile文件内容,使用callback形式返回字节数组。
Z
zengyawen 已提交
979

V
VictoriaGuo 已提交
980 981
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
982 983 984 985 986
**参数:** 
| 参数名      | 类型                              | 必填   | 说明                      |
| -------- | ------------------------------- | ---- | ----------------------- |
| path     | string                          | 是    | rawfile文件路径             |
| callback | AsyncCallback&lt;Uint8Array&gt; | 是    | 异步回调,用于返回获取的rawfile文件内容 |
Z
zengyawen 已提交
987

H
HelloCrease 已提交
988
**示例:** 
H
HelloCrease 已提交
989
  ```ts
Z
zengyawen 已提交
990 991 992
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getRawFile("test.xml", (error, value) => {
          if (error != null) {
W
wplan1 已提交
993
              console.log("error is " + error);
Z
zengyawen 已提交
994
          } else {
W
wplan1 已提交
995
              let rawFile = value;
Z
zengyawen 已提交
996 997 998 999 1000 1001 1002 1003 1004
          }
      });
  });
  ```

### getRawFile<sup>8+</sup>

getRawFile(path: string): Promise&lt;Uint8Array&gt;

H
huangjie 已提交
1005
用户获取resources/rawfile目录下对应的rawfile文件内容,使用Promise形式返回字节数组。
Z
zengyawen 已提交
1006

V
VictoriaGuo 已提交
1007 1008
**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
1009 1010 1011 1012
**参数:** 
| 参数名  | 类型     | 必填   | 说明          |
| ---- | ------ | ---- | ----------- |
| path | string | 是    | rawfile文件路径 |
Z
zengyawen 已提交
1013

H
HelloCrease 已提交
1014 1015 1016 1017
**返回值:** 
| 类型                        | 说明          |
| ------------------------- | ----------- |
| Promise&lt;Uint8Array&gt; | rawfile文件内容 |
Z
zengyawen 已提交
1018

H
HelloCrease 已提交
1019
**示例:** 
H
HelloCrease 已提交
1020
  ```ts
Z
zengyawen 已提交
1021 1022
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getRawFile("test.xml").then(value => {
W
wplan1 已提交
1023
          let rawFile = value;
Z
zengyawen 已提交
1024
      }).catch(error => {
W
wplan1 已提交
1025
          console.log("getRawFile promise error is " + error);
Z
zengyawen 已提交
1026 1027 1028
      });
  });
  ```
W
wplan1 已提交
1029 1030 1031 1032 1033

### getRawFileDescriptor<sup>8+</sup>

getRawFileDescriptor(path: string, callback: AsyncCallback&lt;RawFileDescriptor&gt;): void

H
huangjie 已提交
1034
用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用callback形式返回。
W
wplan1 已提交
1035 1036 1037

**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
1038
**参数:** 
H
HelloCrease 已提交
1039 1040 1041 1042
| 参数名      | 类型                                       | 必填   | 说明                               |
| -------- | ---------------------------------------- | ---- | -------------------------------- |
| path     | string                                   | 是    | rawfile文件路径                      |
| callback | AsyncCallback&lt;[RawFileDescriptor](#rawfiledescriptor8)&gt; | 是    | 异步回调,用于返回获取的rawfile文件的descriptor |
W
wplan1 已提交
1043

H
HelloCrease 已提交
1044
**示例:** 
H
HelloCrease 已提交
1045
  ```ts
W
wplan1 已提交
1046 1047 1048
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getRawFileDescriptor("test.xml", (error, value) => {
          if (error != null) {
W
wplan1 已提交
1049
              console.log("error is " + error);
W
wplan1 已提交
1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062
          } else {
              let fd = value.fd;
              let offset = value.offset;
              let length = value.length;
          }
      });
  });
  ```

### getRawFileDescriptor<sup>8+</sup>

getRawFileDescriptor(path: string): Promise&lt;RawFileDescriptor&gt;

H
huangjie 已提交
1063
用户获取resources/rawfile目录下对应rawfile文件的descriptor,使用Promise形式返回。
W
wplan1 已提交
1064 1065 1066

**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
1067 1068 1069 1070
**参数:** 
| 参数名  | 类型     | 必填   | 说明          |
| ---- | ------ | ---- | ----------- |
| path | string | 是    | rawfile文件路径 |
W
wplan1 已提交
1071

H
HelloCrease 已提交
1072 1073 1074 1075
**返回值:** 
| 类型                                       | 说明                  |
| ---------------------------------------- | ------------------- |
| Promise&lt;[RawFileDescriptor](#rawfiledescriptor8)&gt; | rawfile文件descriptor |
W
wplan1 已提交
1076

H
HelloCrease 已提交
1077
**示例:** 
H
HelloCrease 已提交
1078
  ```ts
W
wplan1 已提交
1079 1080 1081 1082 1083 1084
  resourceManager.getResourceManager((error, mgr) => {
      mgr.getRawFileDescriptor("test.xml").then(value => {
          let fd = value.fd;
          let offset = value.offset;
          let length = value.length;
      }).catch(error => {
W
wplan1 已提交
1085
          console.log("getRawFileDescriptor promise error is " + error);
W
wplan1 已提交
1086 1087 1088 1089 1090 1091 1092 1093
      });
  });
  ```

### closeRawFileDescriptor<sup>8+</sup>

closeRawFileDescriptor(path: string, callback: AsyncCallback&lt;void&gt;): void

H
huangjie 已提交
1094
用户关闭resources/rawfile目录下rawfile文件的descriptor,使用callback形式返回。
W
wplan1 已提交
1095 1096 1097

**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
1098 1099 1100 1101 1102
**参数:** 
| 参数名      | 类型                        | 必填   | 说明          |
| -------- | ------------------------- | ---- | ----------- |
| path     | string                    | 是    | rawfile文件路径 |
| callback | AsyncCallback&lt;void&gt; | 是    | 异步回调        |
W
wplan1 已提交
1103

H
HelloCrease 已提交
1104
**示例:** 
H
HelloCrease 已提交
1105
  ```ts
W
wplan1 已提交
1106 1107 1108
  resourceManager.getResourceManager((error, mgr) => {
      mgr.closeRawFileDescriptor("test.xml", (error, value) => {
          if (error != null) {
W
wplan1 已提交
1109
              console.log("error is " + error);
W
wplan1 已提交
1110 1111 1112 1113 1114 1115 1116 1117 1118
          }
      });
  });
  ```

### closeRawFileDescriptor<sup>8+</sup>

closeRawFileDescriptor(path: string): Promise&lt;void&gt;

H
huangjie 已提交
1119
用户关闭resources/rawfile目录下rawfile文件的descriptor,使用Promise形式返回。
W
wplan1 已提交
1120 1121 1122

**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
1123 1124 1125 1126
**参数:** 
| 参数名  | 类型     | 必填   | 说明          |
| ---- | ------ | ---- | ----------- |
| path | string | 是    | rawfile文件路径 |
W
wplan1 已提交
1127

H
HelloCrease 已提交
1128 1129 1130 1131
**返回值:** 
| 类型                  | 说明   |
| ------------------- | ---- |
| Promise&lt;void&gt; | 无返回值 |
W
wplan1 已提交
1132

H
HelloCrease 已提交
1133
**示例:** 
H
HelloCrease 已提交
1134
  ```ts
W
wplan1 已提交
1135 1136
  resourceManager.getResourceManager((error, mgr) => {
      mgr.closeRawFileDescriptor("test.xml").then(value => {
W
wplan1 已提交
1137
          let result = value;
W
wplan1 已提交
1138
      }).catch(error => {
W
wplan1 已提交
1139
          console.log("closeRawFileDescriptor promise error is " + error);
W
wplan1 已提交
1140 1141 1142 1143
      });
  });
  ```

W
wplan1 已提交
1144
### release<sup>7+</sup>
W
wplan1 已提交
1145

H
HelloCrease 已提交
1146
release()
W
wplan1 已提交
1147 1148 1149 1150 1151

用户释放创建的resourceManager。

**系统能力**:SystemCapability.Global.ResourceManager

H
HelloCrease 已提交
1152
**示例:** 
H
HelloCrease 已提交
1153
  ```ts
W
wplan1 已提交
1154
  resourceManager.getResourceManager((error, mgr) => {
H
huangjie 已提交
1155
      mgr.release();
W
wplan1 已提交
1156 1157
  });
  ```
H
huangjie 已提交
1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169

### getStringByName<sup>9+</sup>

getStringByName(resName: string, callback: AsyncCallback&lt;string&gt;): void

用户获取指定资源名称对应的字符串,使用callback形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:**
| 参数名      | 类型                          | 必填   | 说明              |
| -------- | --------------------------- | ---- | --------------- |
H
HelloCrease 已提交
1170 1171
| resName  | string                      | 是    | 资源名称            |
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,用于返回获取的字符串 |
H
huangjie 已提交
1172 1173

**示例:**
H
HelloCrease 已提交
1174
  ```ts
H
huangjie 已提交
1175
  this.context.resourceManager.getStringByName("test", (error, value) => {
H
huangjie 已提交
1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192
      if (error != null) {
          console.log("error is " + error);
      } else {
          let string = value;
      }
  });
  ```

### getStringByName<sup>9+</sup>

getStringByName(resName: string): Promise&lt;string&gt;

用户获取指定资源名称对应的字符串,使用Promise形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:**
H
HelloCrease 已提交
1193
| 参数名     | 类型     | 必填   | 说明   |
H
huangjie 已提交
1194
| ------- | ------ | ---- | ---- |
H
HelloCrease 已提交
1195
| resName | string | 是    | 资源名称 |
H
huangjie 已提交
1196 1197

**返回值:**
H
HelloCrease 已提交
1198 1199
| 类型                    | 说明         |
| --------------------- | ---------- |
H
huangjie 已提交
1200 1201 1202
| Promise&lt;string&gt; | 资源名称对应的字符串 |

**示例:**
H
HelloCrease 已提交
1203
  ```ts
H
huangjie 已提交
1204
  this.context.resourceManager.getStringByName("test").then(value => {
H
huangjie 已提交
1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221
      let string = value;
  }).catch(error => {
      console.log("getStringByName promise error is " + error);
  });
  ```

### getStringArrayByName<sup>9+</sup>

getStringArrayByName(resName: string, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void

用户获取指定资源名称对应的字符串数组,使用callback形式返回字符串数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:**
| 参数名      | 类型                                       | 必填   | 说明                |
| -------- | ---------------------------------------- | ---- | ----------------- |
H
HelloCrease 已提交
1222
| resName  | string                                   | 是    | 资源名称              |
H
huangjie 已提交
1223 1224 1225
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是    | 异步回调,用于返回获取的字符串数组 |

**示例:** 
H
HelloCrease 已提交
1226
  ```ts
H
huangjie 已提交
1227
  this.context.resourceManager.getStringArrayByName("test", (error, value) => {
H
huangjie 已提交
1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244
      if (error != null) {
          console.log("error is " + error);
      } else {
          let strArray = value;
      }
  });
  ```

### getStringArrayByName<sup>9+</sup>

getStringArrayByName(resName: string): Promise&lt;Array&lt;string&gt;&gt;

用户获取指定资源名称对应的字符串数组,使用Promise形式返回字符串数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1245 1246 1247
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
| resName | string | 是    | 资源名称 |
H
huangjie 已提交
1248 1249

**返回值:** 
H
HelloCrease 已提交
1250 1251
| 类型                                 | 说明           |
| ---------------------------------- | ------------ |
H
huangjie 已提交
1252 1253 1254
| Promise&lt;Array&lt;string&gt;&gt; | 资源名称对应的字符串数组 |

**示例:** 
H
HelloCrease 已提交
1255
  ```ts
H
huangjie 已提交
1256
  this.context.resourceManager.getStringArrayByName("test").then(value => {
H
huangjie 已提交
1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273
      let strArray = value;
  }).catch(error => {
      console.log("getStringArrayByName promise error is " + error);
  });
  ```

### getMediaByName<sup>9+</sup>

getMediaByName(resName: string, callback: AsyncCallback&lt;Uint8Array&gt;): void

用户获取指定资源ID对应的媒体文件内容,使用callback形式返回字节数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名      | 类型                              | 必填   | 说明                 |
| -------- | ------------------------------- | ---- | ------------------ |
H
HelloCrease 已提交
1274
| resName  | string                          | 是    | 资源名称               |
H
huangjie 已提交
1275 1276 1277
| callback | AsyncCallback&lt;Uint8Array&gt; | 是    | 异步回调,用于返回获取的媒体文件内容 |

**示例:** 
H
HelloCrease 已提交
1278
  ```ts
H
huangjie 已提交
1279
  this.context.resourceManager.getMediaByName("test", (error, value) => {
H
huangjie 已提交
1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296
      if (error != null) {
          console.log("error is " + error);
      } else {
          let media = value;
      }
  });
  ```

### getMediaByName<sup>9+</sup>

getMediaByName(resName: string): Promise&lt;Uint8Array&gt;

用户获取指定资源名称对应的媒体文件内容,使用Promise形式返回字节数组。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1297 1298
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
H
huangjie 已提交
1299 1300 1301
| resName | string | 是    | 资源名称 |

**返回值:** 
H
HelloCrease 已提交
1302 1303
| 类型                        | 说明            |
| ------------------------- | ------------- |
H
huangjie 已提交
1304 1305 1306
| Promise&lt;Uint8Array&gt; | 资源名称对应的媒体文件内容 |

**示例:** 
H
HelloCrease 已提交
1307
  ```ts
H
huangjie 已提交
1308
  this.context.resourceManager.getMediaByName("test").then(value => {
H
huangjie 已提交
1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
      let media = value;
  }).catch(error => {
      console.log("getMediaByName promise error is " + error);
  });
  ```

### getMediaBase64ByName<sup>9+</sup>

getMediaBase64ByName(resName: string, callback: AsyncCallback&lt;string&gt;): void

用户获取指定资源名称对应的图片资源Base64编码,使用callback形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名      | 类型                          | 必填   | 说明                       |
| -------- | --------------------------- | ---- | ------------------------ |
H
HelloCrease 已提交
1326
| resName  | string                      | 是    | 资源名称                     |
H
huangjie 已提交
1327 1328 1329
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,用于返回获取的图片资源Base64编码 |

**示例:** 
H
HelloCrease 已提交
1330
  ```ts
H
huangjie 已提交
1331
  this.context.resourceManager.getMediaBase64ByName("test", (error, value) => {
H
huangjie 已提交
1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348
      if (error != null) {
          console.log("error is " + error);
      } else {
          let media = value;
      }
  });
  ```

### getMediaBase64ByName<sup>9+</sup>

getMediaBase64ByName(resName: string): Promise&lt;string&gt;

用户获取指定资源名称对应的图片资源Base64编码,使用Promise形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1349 1350 1351
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
| resName | string | 是    | 资源名称 |
H
huangjie 已提交
1352 1353

**返回值:** 
H
HelloCrease 已提交
1354 1355
| 类型                    | 说明                  |
| --------------------- | ------------------- |
H
huangjie 已提交
1356 1357 1358
| Promise&lt;string&gt; | 资源名称对应的图片资源Base64编码 |

**示例:** 
H
HelloCrease 已提交
1359
  ```ts
H
huangjie 已提交
1360
  this.context.resourceManager.getMediaBase64ByName("test").then(value => {
H
huangjie 已提交
1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375
      let media = value;
  }).catch(error => {
      console.log("getMediaBase64ByName promise error is " + error);
  });
  ```

### getPluralStringByName<sup>9+</sup>

getPluralStringByName(resName: string, num: number, callback: AsyncCallback&lt;string&gt;): void

根据传入的数量值,获取资源名称对应的字符串资源,使用callback形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1376 1377 1378 1379
| 参数名      | 类型                          | 必填   | 说明                            |
| -------- | --------------------------- | ---- | ----------------------------- |
| resName  | string                      | 是    | 资源名称                          |
| num      | number                      | 是    | 数量值                           |
H
huangjie 已提交
1380 1381 1382
| callback | AsyncCallback&lt;string&gt; | 是    | 异步回调,返回根据传入的数量值获取资源名称对应的字符串资源 |

**示例:** 
H
HelloCrease 已提交
1383
  ```ts
H
huangjie 已提交
1384
  this.context.resourceManager.getPluralStringByName("test", 1, (error, value) => {
H
huangjie 已提交
1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401
      if (error != null) {
          console.log("error is " + error);
      } else {
          let str = value;
      }
  });
  ```

### getPluralStringByName<sup>9+</sup>

getPluralStringByName(resName: string, num: number): Promise&lt;string&gt;

根据传入的数量值,获取资源名称对应的字符串资源,使用Promise形式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1402 1403
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
H
huangjie 已提交
1404
| resName | string | 是    | 资源名称 |
H
HelloCrease 已提交
1405
| num     | number | 是    | 数量值  |
H
huangjie 已提交
1406 1407

**返回值:** 
H
HelloCrease 已提交
1408 1409
| 类型                    | 说明                     |
| --------------------- | ---------------------- |
H
huangjie 已提交
1410 1411 1412
| Promise&lt;string&gt; | 根据传入的数量值获取资源名称对应的字符串资源 |

**示例:** 
H
HelloCrease 已提交
1413
  ```ts
H
huangjie 已提交
1414
  this.context.resourceManager.getPluralStringByName("test", 1).then(value => {
H
huangjie 已提交
1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434
      let str = value;
  }).catch(error => {
      console.log("getPluralStringByName promise error is " + error);
  });
  ```

### getStringSync<sup>9+</sup>

getStringSync(resId: number): string

用户获取指定资源ID对应的字符串,使用同步方式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |

**返回值:** 
H
HelloCrease 已提交
1435 1436
| 类型     | 说明          |
| ------ | ----------- |
H
huangjie 已提交
1437 1438 1439
| string | 资源ID值对应的字符串 |

**示例:** 
H
HelloCrease 已提交
1440
  ```ts
H
huangjie 已提交
1441
  this.context.resourceManager.getStringSync($r('app.string.test').id);
H
huangjie 已提交
1442 1443
  ```

1444 1445 1446 1447 1448 1449 1450 1451 1452
### getStringSync<sup>9+</sup>

getStringSync(resource: Resource): string

用户获取指定resource对象对应的字符串,使用同步方式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1453 1454
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
1455
| resource | [Resource](#resource9) | 是    | 资源信息 |
1456 1457

**返回值:** 
H
HelloCrease 已提交
1458 1459
| 类型     | 说明               |
| ------ | ---------------- |
1460 1461 1462
| string | resource对象对应的字符串 |

**示例:** 
H
HelloCrease 已提交
1463
  ```ts
1464 1465 1466 1467 1468 1469 1470 1471
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.string.test').id
  };
  this.context.resourceManager.getStringSync(resource);
  ```

H
huangjie 已提交
1472 1473 1474 1475 1476 1477 1478 1479 1480
### getStringByNameSync<sup>9+</sup>

getStringByNameSync(resName: string): string

用户获取指定资源名称对应的字符串,使用同步方式返回字符串。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1481 1482
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
H
huangjie 已提交
1483 1484 1485
| resName | string | 是    | 资源名称 |

**返回值:** 
H
HelloCrease 已提交
1486 1487
| 类型     | 说明         |
| ------ | ---------- |
H
huangjie 已提交
1488 1489 1490
| string | 资源名称对应的字符串 |

**示例:** 
H
HelloCrease 已提交
1491
  ```ts
H
huangjie 已提交
1492
  this.context.resourceManager.getStringByNameSync("test");
H
huangjie 已提交
1493 1494
  ```

H
huangjie 已提交
1495
### getBoolean<sup>9+</sup>
H
huangjie 已提交
1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508

getBoolean(resId: number): boolean

使用同步方式,返回获取指定资源ID对应的布尔结果。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |

**返回值:** 
H
HelloCrease 已提交
1509 1510
| 类型      | 说明           |
| ------- | ------------ |
H
huangjie 已提交
1511 1512 1513
| boolean | 资源ID值对应的布尔结果 |

**示例:** 
H
HelloCrease 已提交
1514
  ```ts
H
huangjie 已提交
1515
  this.context.resourceManager.getBoolean($r('app.boolean.boolean_test').id);
H
huangjie 已提交
1516
  ```
1517 1518 1519 1520 1521 1522 1523 1524 1525
### getBoolean<sup>9+</sup>

getBoolean(resource: Resource): boolean

使用同步方式,返回获取指定resource对象对应的布尔结果。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1526 1527
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
1528
| resource | [Resource](#resource9) | 是    | 资源信息 |
1529 1530

**返回值:** 
H
HelloCrease 已提交
1531 1532
| 类型      | 说明                |
| ------- | ----------------- |
1533 1534 1535
| boolean | resource对象对应的布尔结果 |

**示例:** 
H
HelloCrease 已提交
1536
  ```ts
1537 1538 1539 1540 1541 1542 1543
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.boolean.boolean_test').id
  };
  this.context.resourceManager.getBoolean(resource);
  ```
H
huangjie 已提交
1544 1545 1546 1547 1548 1549 1550 1551 1552 1553

### getBooleanByName<sup>9+</sup>

getBooleanByName(resName: string): boolean

使用同步方式,返回获取指定资源名称对应的布尔结果

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1554 1555 1556
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
| resName | string | 是    | 资源名称 |
H
huangjie 已提交
1557 1558

**返回值:** 
H
HelloCrease 已提交
1559 1560
| 类型      | 说明          |
| ------- | ----------- |
H
huangjie 已提交
1561 1562 1563
| boolean | 资源名称对应的布尔结果 |

**示例:** 
H
HelloCrease 已提交
1564
  ```ts
H
huangjie 已提交
1565
  this.context.resourceManager.getBooleanByName("boolean_test");
H
huangjie 已提交
1566 1567
  ```

H
huangjie 已提交
1568
### getNumber<sup>9+</sup>
H
huangjie 已提交
1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581

getNumber(resId: number): number

用户获取指定资源ID对应的integer数值或者float数值,使用同步方式返回资源对应的数值。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
| 参数名   | 类型     | 必填   | 说明    |
| ----- | ------ | ---- | ----- |
| resId | number | 是    | 资源ID值 |

**返回值:** 
H
HelloCrease 已提交
1582 1583
| 类型     | 说明         |
| ------ | ---------- |
H
huangjie 已提交
1584 1585 1586
| number | 资源ID值对应的数值 |

**示例:** 
H
HelloCrease 已提交
1587
  ```ts
H
huangjie 已提交
1588 1589
  this.context.resourceManager.getNumber($r('app.integer.integer_test').id);
  this.context.resourceManager.getNumber($r('app.float.float_test').id);
H
huangjie 已提交
1590 1591
  ```

1592 1593 1594 1595 1596 1597 1598 1599 1600
### getNumber<sup>9+</sup>

getNumber(resource: Resource): number

用户获取指定resource对象对应的integer数值或者float数值,使用同步方式返回资源对应的数值。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1601 1602
| 参数名      | 类型                     | 必填   | 说明   |
| -------- | ---------------------- | ---- | ---- |
1603
| resource | [Resource](#resource9) | 是    | 资源信息 |
1604 1605

**返回值:** 
H
HelloCrease 已提交
1606 1607
| 类型     | 说明              |
| ------ | --------------- |
1608 1609 1610
| number | resource对象对应的数值 |

**示例:** 
H
HelloCrease 已提交
1611
  ```ts
1612 1613 1614 1615 1616 1617 1618 1619
  let resource = {
      bundleName: "com.example.myapplication",
      moduleName: "entry",
      id: $r('app.integer.integer_test').id
  };
  this.context.resourceManager.getNumber(resource);
  ```

H
huangjie 已提交
1620 1621 1622 1623 1624 1625 1626 1627 1628
### getNumberByName<sup>9+</sup>

getNumberByName(resName: string): number

用户获取指定资源名称对应的integer数值或者float数值,使用同步方式资源对应的数值。

**系统能力**:SystemCapability.Global.ResourceManager

**参数:** 
H
HelloCrease 已提交
1629 1630
| 参数名     | 类型     | 必填   | 说明   |
| ------- | ------ | ---- | ---- |
H
huangjie 已提交
1631 1632 1633
| resName | string | 是    | 资源名称 |

**返回值:** 
H
HelloCrease 已提交
1634 1635
| 类型     | 说明        |
| ------ | --------- |
H
huangjie 已提交
1636 1637 1638
| number | 资源名称对应的数值 |

**示例:** 
H
HelloCrease 已提交
1639
  ```ts
H
huangjie 已提交
1640 1641
  this.context.resourceManager.getNumberByName("integer_test");
  this.context.resourceManager.getNumberByName("float_test");
H
huangjie 已提交
1642
  ```