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)