1# 全球化子系统ChangeLog
2
3
4## cl.resourceManager.1  资源获取rawfile文件描述符接口含义变更
5
6相较于之前的版本,在4.0.2.2 版本中,新增不解压特性,rawfile文件描述符接口返回值的含义发生了变化。接口用于返回获取的rawfile文件的descriptor:RawFileDescriptor {fd,offset, length},由于不解压特性变更,返回值没发生变化,但返回值的含义发生了变化, 变化如下:
7
8**新增不解压特性前**:
9
10fd: 访问rawfile文件的文件描述符;
11
12offset: 访问rawfile文件的偏移量,此时为0;
13
14length: 访问rawfile文件的大小。
15
16**新增不解压特性后**:
17
18fd: 访问rawfile文件所在hap的文件描述符;
19
20offset: 访问rawfile文件相对于hap的偏移量;
21
22length: 访问rawfile文件的大小。
23
24**变更影响**
25
26之前只通过fd可以访问到rawfile文件,在4.0.2.2 及以上版本需要通过{fd, offset, length}三个参数才能访问到。
27
28**关键接口/组件变更**
29
30| **涉及接口**                            |
31| ----------------                         |
32| getRawFd(path: string, callback: AsyncCallback\<RawFileDescriptor>): void   |
33| getRawFd(path: string): Promise\<RawFileDescriptor>  |
34| getRawFileDescriptor(path: string, callback: AsyncCallback\<RawFileDescriptor>): void|
35| getRawFileDescriptor(path: string): Promise\<RawFileDescriptor>|
36||
37
38**示例代码**
39
40以调用接口getRawFd为例:
41```
42try {
43    this.context.resourceManager.getRawFd("test.ogg", (error, value) => {
44        if (error != null) {
45            console.log(`callback getRawFd failed error code: ${error.code}, message: ${error.message}.`);
46        } else {
47            let fileDescriptor = {
48                fd = value.fd,
49                offset = value.offset,
50                length = value.length
51            }
52            this.avPlayer.fdSrc(fileDescriptor); // 以音频播放为例,调用fdSrc时需要传fileDescriptor,不能仅传fd。
53        }
54    });
55  } catch (error) {
56      console.error(`callback getRawFd failed, error code: ${error.code}, message: ${error.message}.`)
57  };
58```
59
60
61## cl.resourceManager.2  getStringSync、getStringByNameSync新增接口
62
63相较于之前的版本,在4.0.6.2 版本中,为扩展getStringSync、getStringByNameSync接口字符串匹配功能,新增了接口以及相应的错误码。
64
65| 包名  | 新增接口  |
66| --------------- | ---------------------------------------------------- |
67| ohos.resourceManager.d.ts | getStringSync(resId: number, ...args: Array<string \| number>): string; |
68| ohos.resourceManager.d.ts | getStringSync(resource: Resource, ...args: Array<string \| number>): string; |
69| ohos.resourceManager.d.ts | getStringByNameSync(resName: string, ...args: Array<string \| number>): string; |
70
71**变更影响**
72
73之前只能直接获取resources中的string资源的value值,在4.0.6.2 及以上版本中可用通过参数格式化string资源的value值,扩展了格式化字符串的查询能力。
74
75新增错误码:
76
779001007 根据当前id获取的资源格式化失败
78
799001008 根据当前名称获取的资源格式化失败
80
81**示例代码**
82
83以调用接口getStringSync为例,变更前只支持示例1,变更后示例1、示例2都支持。
84```
85示例1:
86try {
87  this.context.resourceManager.getStringSync($r('app.string.test').id);
88} catch (error) {
89  console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`)
90}
91示例2:
92try {
93  this.context.resourceManager.getStringSync($r('app.string.test').id, "format string", 787, 98.78);
94} catch (error) {
95  console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`)
96}
97```
98
99**适配指导**
100请参考接口说明:
101
102[新增接口参考](../../../application-dev/reference/apis/js-apis-resource-manager.md)
103
104[新增错误码参考](../../../application-dev/reference/errorcodes/errorcode-resource-manager.md)