• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-849763

hvigor/06-May-2025-3836

screenshots/06-May-2025-

.gitignoreD06-May-2025133 1212

README_zh.mdD06-May-20254 KiB7149

build-profile.json5D06-May-20251.2 KiB5150

hvigorfile.tsD06-May-2025839 225

oh-package.json5D06-May-2025809 2624

ohosTest.mdD06-May-2025957 1410

README_zh.md

1# 应用文件分享
2
3本示例主要展示了沙箱文件分享相关的功能,使用 ohos.file.fileuriohos.file.fsohos.ability.wantConstantohos.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.openSyncfs.writeSyncfs.readSyncfs.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
4849
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