1# Resource Manager ChangeLog
2
3## cl.resourceManager.1 Name Change of Some Multi-Project APIs in API Version 9 of Resource Manager
4
5The resource manager can return error codes and error information for APIs in API version 9 and later. Some multi-project APIs in API version 9 need to be adapted. The following changes are made in API version 9 and later:
6
7Some multi-project APIs of the resource manager need to be replaced with new APIs, and the parameters remain unchanged.
8
9**Change Impacts**
10
11For applications developed based on earlier versions, relevant JavaScript multi-project APIs need to be replaced with new APIs.
12
13**Key API/Component Changes**
14
15| **Original API**                           | **New API**|
16| ----------------                         | ------------ |
17| getString(resource: Resource, <br>callback: AsyncCallback\<string>): void;   | getStringValue(resource: Resource, <br>callback: AsyncCallback\<string>): void;       |
18| getString(resource: Resource): Promise\<string>;   | getStringValue(resource: Resource): Promise\<string>;       |
19| getStringArray(resource: Resource, <br>callback: AsyncCallback\<Array\<string>>): void;    | getStringArrayValue(resource: Resource, <br>callback: AsyncCallback\<Array\<string>>): void;       |
20| getStringArray(resource: Resource): Promise\<Array\<string>>;    | getStringArrayValue(resource: Resource): Promise\<Array\<string>>;       |
21| getMedia(resource: Resource, <br>callback: AsyncCallback\<Uint8Array>): void;    | getMediaContent(resource: Resource, <br>callback: AsyncCallback\<Uint8Array>): void;       |
22| getMedia(resource: Resource): Promise\<Uint8Array>;   | getMediaContent(resource: Resource): Promise\<Uint8Array>;       |
23| getMediaBase64(resource: Resource, <br>callback: AsyncCallback\<string>): void;   | getMediaContentBase64(resource: Resource, <br>callback: AsyncCallback\<string>): void;       |
24| getMediaBase64(resource: Resource): Promise\<string>;  | getMediaContentBase64(resource: Resource): Promise\<string>;       |
25| getPluralString(resource: Resource, num: number, <br>callback: AsyncCallback<string>): void;   | getPluralStringValue(resource: Resource, num: number, <br>callback: AsyncCallback\<string>): void;       |
26| getPluralString(resource: Resource, num: number): Promise\<string>;   | getPluralStringValue(resource: Resource, num: number): Promise\<string>;       |
27
28**Adaptation Guide**
29
30The following describes how to change **getMedia** to **getMediaContent** in callback mode. The promise mode is similar. You only need to change the function name, add the error code and error information, and keep other information unchanged. The sample code is as follows:
31
32- Before the change: **getMedia(resource: Resource, callback: AsyncCallback<Uint8Array>): void;**
33```ts
34let resource = {
35    bundleName: "com.example.myapplication",
36    moduleName: "entry",
37    id: $r('app.media.test').id
38};
39this.context.resourceManager.getMedia(resource, (error, value) => {
40    if (error != null) {
41      console.log("error is " + error);
42    } else {
43      let media = value;
44    }
45});
46```
47
48- After the change: **getMediaContent(resource: Resource, callback: AsyncCallback<Uint8Array>): void;**
49```ts
50let resource = {
51    bundleName: "com.example.myapplication",
52    moduleName: "entry",
53    id: $r('app.media.test').id
54};
55try {
56  this.context.resourceManager.getMediaContent(resource, (error, value) => {
57      if (error != null) {
58        console.log("error is " + error);
59      } else {
60        let media = value;
61      }
62  });
63} catch (error) {
64  console.error(`callback getMediaContent failed, error code: ${error.code}, message: ${error.message}.`)
65}
66```
67