【HarmonyOS NEXT】示例代码-Native侧实现文件访问

打印 上一主题 下一主题

主题 873|帖子 873|积分 2619

先容

应用在Native侧进行文件访问主要有三种场景,第一种是访问应用沙箱文件,第二种是访问应用资源文件,最后一种是访问公共目录文件,本sample将针对这三种场景给出实现方案。
结果预览

应用主界面

  使用分析

点击进入页面后,页面有六个按钮,分别对应不同的文件访问方案。


  • 点击前三个按钮会出现弹窗显示访问的文件内容;
  • 点击第四个按钮拉起picker,创建文件;
  • 点击第五个按钮会拉起picker选择文件,返回对文件操作的结果;
  • 点击第六个按钮会拉起picker选择文件,返回文件的内容。
工程目录

  1. 解释├──entry/src/main/cpp                 // Native层
  2. │  ├──types                           // Native层暴露上来的接口
  3. │  │  └──libfile_access               // 暴露给UI层的接口
  4. │  ├──CMakeLists.txt                  // 编译入口
  5. │  └──FileAccessMethods.cpp           // Native文件操作方法      
  6. ├──ets                                // UI层
  7. │  ├──common                          // 公共模块
  8. │  │  └──utils                        // 共用的工具类
  9. │  │     ├──FileOperate.ets           // 调用picker文件操作方法
  10. │  │     ├──Logger.ets                // 日志类
  11. │  │     └──ReadFile.ets              // ArkTS侧读取文件方法
  12. │  ├──entryability                    // 应用的入口
  13. │  │  └──EntryAbility.ets            
  14. │  ├──entrybackupability            
  15. │  │  └──EntryBackupAbility.ets          
  16. │  ├──model            
  17. │  │  └──FileNameModel.ets            
  18. │  └──pages                           // EntryAbility 包含的页面
  19. │     └──Index.ets                    // 应用主页面
  20. ├──resources                          // 用于存放应用所用到的资源文件
  21. │  ├──base                            // 该目录下的资源文件会被赋予唯一的ID
  22. │  │  ├──element                      // 用于存放字体和颜色
  23. │  │  ├──media                        // 用于存放图片
  24. │  │  └──profile                      // 应用入口首页
  25. │  ├──en_US                           // 设备语言是美式英文时,优先匹配此目录下资源
  26. │  ├──rawfile                         // 应用资源文件
  27. │  └──zh_CN                           // 设备语言是简体中文时,优先匹配此目录下资源
  28. └──module.json5                       // 模块配置信息
复制代码
详细实现



  • 访问沙箱文件主要通过传递路径和拼接路径两种方式,主要调用napi接口传递参数,利用C尺度接口访问文件;
  • 访问应用资源文件通过传递resource manager,在Native侧通过资源对象访问文件;
  • 访问公共目录文件通过picker传递的fd,调用C尺度接口访问。
相关权限



  • 不涉及
依赖



  • 不涉及

更多详情参考:示例代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表