| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 849 | 763 | ||
| hvigor/ | 06-May-2025 | - | 38 | 36 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README_zh.md | D | 06-May-2025 | 4 KiB | 71 | 49 | |
| build-profile.json5 | D | 06-May-2025 | 1.2 KiB | 51 | 50 | |
| hvigorfile.ts | D | 06-May-2025 | 839 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 809 | 26 | 24 | |
| ohosTest.md | D | 06-May-2025 | 957 | 14 | 10 |
README_zh.md
1# 应用文件分享 2 3本示例主要展示了沙箱文件分享相关的功能,使用 ohos.file.fileuri、ohos.file.fs、ohos.ability.wantConstant、ohos.application.Want 等接口,实现了获取文件uri、创建沙箱文件、提供want中操作want常数、应用组件间的信息传递的功能,该工程中展示的代码详细描述可查如下链接。 4 5- [ 应用文件分享](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/share-app-file.md) 6 7### 效果预览 8 9| 创建文件界面 | 选择分享应用弹窗 | 应用接收文件并读取 | 10| ------------------------------------------------- | ------------------------------------------------- | --------------------------------------------------------- | 11| <img src="./screenshots/start.jpg" width = "400"> | <img src="./screenshots/share.jpg" width = "400"> | <img src="./screenshots/fileReception.jpg" width = "400"> | 12 13使用说明: 14 151. 因本应用的功能依赖FileSample(code/DocsSample/CoreFile/FileSample)应用,在使用本应用之前首先应安装FileSample应用,文件分享之前使FileSample应用在后台。 162. 在主界面,可以点击创建文件按钮,在沙箱目录下创建一个txt文件,通过“查看文件列表”和“获取文件内容”按钮分别获取文件列表和test.txt文件的内容。 173. 点击“文件分享”按钮,可以拉起分享弹窗,选择要接收的应用之后,该应用就会被拉起,接收传递的want参数后可以根据对应的URI对分享的文件进行读写。 18 19### 工程目录 20``` 21├──entry/src/main 22| ├──ets 23| | ├──common 24| | | └──Logger.ts // 日志工具 25| | ├──entryability 26| | | └──EntryAbility.ets // 程序入口类 27| | ├──entrybackupability 28| | | └──EntryBackupAbility.ets 29| | ├──fileFs 30| | | └──fileFs.ets // 文件访问函数 31| | └──pages // 页面文件 32| | └──Index.ets // 主界面 33| ├──resources // 资源文件目录 34``` 35### 具体实现 36 37* 增添文件、查找指定类型文件、获取文件uri、传递want信息启动ability的功能接口封装在fileFs.ts,源码参考:FileFs.ts 38 39 * 使用fs.openSync、fs.writeSync、fs.readSync、fs.closeSync分别用来打开文件、写文件、读文件、关闭文件。文件接口请参考:[@ohos.file.fs](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md) 40 41 * 使用fileUri.getUriFromPath来获取文件uri,文件URI的获取请参考接口文档:[@ohos.file.fileuri](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fileuri.md) 42 43 * 分享文件至FileSample应用打开并读取。 44 * 调用 implicitStartAbility 方法传递want参数启动新的ability。 45 46### 相关权限 47 48无 49 50### 依赖 51 52本应用需要依赖FileSample应用和NDKAppFileSample应用,启动前预先安装这两个应用才可以进行自动化测试,若只安装了FileSample依赖应用,请删除SandBoxShare_005测试用例,沙箱文件需分享至FileSample应用打开并读取内容。 53 54### 约束与限制 55 561.本示例仅支持标准系统上运行,支持设备:RK3568。 57 582.本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.58,镜像版本号:OpenHarmony 5.0.2.58。 59 603.本示例需要使用DevEco Studio 5. 1Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。 61 62### 下载 63 64如需单独下载本工程,执行如下命令: 65``` 66git init 67git config core.sparsecheckout true 68echo code/DocsSample/CoreFile/SandBoxShare > .git/info/sparse-checkout 69git remote add origin https://gitee.com/openharmony/applications_app_samples.git 70git pull origin master 71