HarmonyOS 鸿蒙Next:resources下的rawfile和resfile的设计区别是什么

HarmonyOS 鸿蒙Next:resources下的rawfile和resfile的设计区别是什么

cke_135.png

请问:都是原始资源,为什么会设计两种出来,应对的场景是什么,开发者应该选择使用哪一个?

7 回复

你现在有一份配置文件,这份配置文件不会变,那么你可以放在rawfile中直接读取。若你有一组配置文件,在一个zip包中,而且这些配置文件还会从服务器更新。那你可以放在resfile中,启动app直接读本地文件解压,后期从服务器下载到本地的zip包也能统一处理了。你若不放在resfile中,还得从rawfile中拷贝到本地,再解压。

更多关于HarmonyOS 鸿蒙Next:resources下的rawfile和resfile的设计区别是什么的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你好,我想问一下,放在resfile中,启动app直接读本地文件解压,这个具体是怎么操作的呀

你好,我想问一下有没有具体的代码实践啊?

学习了,谢谢!
我们做c++层的,读写文件都是直接访问沙箱目录 filesDir,然而默认的文件模板只能通过rawfile打包、安装到目标系统。因此API9、API10都要在程序初始化时,要不c++层代码实现、要不TS层脚本实现从rawfile目录预拷贝文件到fileDir,而且API9与API10还不同,API9 rawfile已经释放,是散装的文件,随便拷,API10的rawfile文件还在一个.hap的zip中,鸿蒙自带的libz库还不能解压这种格式,麻烦的要死,两种版本两种代码,还不能条件编译,这点麻烦还不算啥, 看鸿蒙的实现代码,这个hap将来有可能会加密,鸿蒙5.0才发现这个痛点,增加了一个resfile。
了解了,感谢解答

对于HarmonyOS鸿蒙Next系统中resources下的rawfile和resfile的设计区别,有以下专业理解:

rawfile目录和resfile目录均用于存放应用所需的资源文件,但两者在使用上有所不同。rawfile目录主要用于存放大型文件,如音频、视频等,这些文件在编译时会被打包进应用安装包中,且以原始文件形式保存,应用运行时可以直接访问这些文件,但rawfile目录在运行时是只读的。而resfile目录则主要用于存放资源文件,如字符串、配置文件等,这些资源文件同样会被直接打包进应用安装包,但不经过编译,也不会被赋予资源文件ID,应用安装后,这些资源会被解压到应用的沙箱路径,需要通过沙箱路径进行访问。

简而言之,rawfile更适合存放大型、原始的文件,而resfile更适合存放需要在运行时动态访问且不需要通过资源ID引用的资源文件。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!