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