1# 资源管理开发常见问题 2 3## 如何读取rawfile中的xml文件并转化为String类型 4 5适用于:OpenHarmony 3.2 Beta5 API 9 6 7**解决措施** 8 9通过resourceManager的getRawFileContent接口获取xml数据,再通过String.fromCharCode将获取的数据转化为String类型。 10 11**代码示例** 12 13``` 14resourceManager.getRawFileContent('test.xml', (error, value) => { 15 if (error != null) { 16 console.log("error is " + error); 17 } else { 18 let rawFile = value; 19 let xml = String.fromCharCode.apply(null, rawFile) 20 } 21}); 22``` 23 24**参考链接** 25 26[资源管理](../reference/apis/js-apis-resource-manager.md) 27 28## Stage模型下如何获取资源 29 30适用于:OpenHarmony 3.1 Beta5 API 9 31 32**解决措施** 33 34Stage模型支持了通过context获取resourceManager对象的方式,再调用其内部获取资源的接口,无需再导入包。此方式不适用于FA模型。 35 36**代码示例** 37 38``` 39const context = getContext(this) as any 40context 41 .resourceManager 42 .getString($r('app.string.entry_desc').id) 43 .then(value => { 44 this.message = value.toString() 45}) 46``` 47 48## 如何通过接口获取resource目录的路径 49 50适用于:Openharmony 3.1 Beta5 API 9 51 52**问题现象** 53 54希望获取resource目录的路径,从而使用文件管理接口操作文件。 55 56**解决措施** 57 58由于应用以hap形式进行安装,安装完成后不会解压hap包,所以在程序运行时无法获取resource路径。 59 60可以考虑如下两种方式获取资源文件: 61 621. 使用\$r或者\$rawfile访问。适合静态访问,程序运行时不改变资源路径。 63 642. 使用ResourceManage访问。适合动态访问,程序运行时可动态改变资源路径。 65 66**参考链接** 67 68[资源分类与访问](../quick-start/resource-categories-and-access.md) [资源管理](../reference/apis/js-apis-resource-manager.md) 69 70## 资源管理内的getPluralString方法获取value值有误 71 72适用于:OpenHarmony 3.2 Beta5 API 9 73 74**问题现象** 75 76getPluralString接口获取value值有误,显示复数值(other)。 77 78**解决措施** 79 80getPluralString接口只支持英文系统,不支持中文。 81 82## 如何获取resources目录中自定义的string字段 83 84适用于:OpenHarmony 3.2 Beta5 API 9 85 86**解决措施** 87 88使用ResourceManager模块的getStringValue方法获取。 89 90**参考链接** 91 92[资源管理](../reference/apis/js-apis-resource-manager.md#getstringvalue9) 93 94## AppScope中的资源如图片,文字等如何引用 95 96适用于:OpenHarmony 3.2 Beta5 API 9 97 98**解决措施** 99 100通过\$r\('app.type.name'\)的形式来引用,type代表资源类型,如color,string,media等,name代表资源命名。 101 102## Resource类型如何转为String 103 104适用于:OpenHarmony 3.2 Beta5 API 9 105 106**解决措施** 107 108Resource为string支持限定词目录使用this.context.resourceManager.getStringSync\(\$r\('app.string.test'\).id\),可以同步转换,不支持\$r\('app.string.test', 2\)方式。 109 110**参考链接** 111 112[ResourceManager\(资源管理\)](../reference/apis/js-apis-resource-manager.md#getstringsync9) 113 114## form\_config.json文件中是否可以使用$引用常量 115 116适用于:OpenHarmony 3.2 Beta5 API 9 117 118form\_config.json文件中不支持使用\$引用常量。 119