• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-1,2931,187

hvigor/06-May-2025-3836

screenshots/06-May-2025-

.gitignoreD06-May-2025133 1212

README_zh.mdD06-May-20254.9 KiB7757

build-profile.json5D06-May-20251.3 KiB5756

code-linter.json5D06-May-2025958 3534

hvigorfile.tsD06-May-2025839 225

oh-package.json5D06-May-2025809 2624

ohosTest.mdD06-May-20251.9 KiB2317

README_zh.md

1# 分布式文件系统
2
3## 介绍
4
5本实例实现了分布式文件系统的文件跨设备访问、跨设备拷贝以及设计分布式文件数据等级。使用两台设备进行分布式组网,在组网环境下可以对文件进行跨设备的访问和拷贝,该工程中展示的代码详细描述可查如下链接。
6
7- [ 设置分布式文件数据等级](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/set-security-label.md)
8- [ 跨设备文件访问](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/file-access-across-devices.md)
9- [ 跨设备文件拷贝](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/file-copy-across-devices.md)
10
11## 效果预览
12
13|                      应用界面                      |
14| :------------------------------------------------: |
15| <img src="./screenshots/start.jpg" width = "400"/> |
16
17使用说明:
18
191. 本应用在进行分布式文件访问之前,需要两台设备进行组网并且都安装了本应用。
202. 组网要求:两台设备连入同一个局域网中,确保设备进入可信状态,且两台设备的音乐软件能同步播放和暂停。
213. 在启动应用后可以根据相应的按钮实现对应的功能点,首先便是设备A在分布式目录下创建文件,并将此文件的数据等级设置,使其可以跨设备进行访问。
224. 由B设备访问应用公共目录并挂载,向A设备发起建链,设备B可在分布式路径下读取测试文件。
235. 按钮“从沙箱复制到分布式目录”设备A在本地目录下创建一个文件,随后将其拷贝到分布式路径下。
246. 按钮“从分布式目录复制到沙箱”设备A和B在确认组网建链后,由设备B从分布式路径下将测试文件拷贝到设备B的沙箱路径。
25
26## 工程目录
27
28```
29├──entry/src/main
30|	├──ets
31|	|	├──commom
32|	|	|	├──Logger.ts				// 日志工具
33|	|	|	├──ShowToast.ets			// 弹窗提示工具
34|	|	├──entryability
35|	|	|	└──EntryAbility.ets         // 程序入口类
36|	|	├──entrybackupability
37|	|	|	└──EntryBackupAbility.ets
38|	|	└──pages                        // 页面文件
39|	|		└──Index.ets 				// 主界面
40|	├──resources						// 资源文件目录
41```
42
43## 具体实现
44
451. 根据Openharmony提供完整的数据分级、设备分级标准,并针对不同设备制定不同的数据流转策略,来设置文件的安全等级。
462. 完成分布式组网。 将需要跨设备访问的两个设备登录同一账号,保证设备蓝牙和Wi-Fi功能开启,蓝牙无需互连,Wi-Fi无需接入同一个局域网。
473. 访问跨设备文件,分布式文件系统为应用提供了跨设备文件访问的能力,开发者在两个设备安装同一应用时,通过基础文件接口,可跨设备读写另一个设备该应用分布式文件路径下的文件。
484. 拷贝跨设备文件,由设备A的将文件从沙箱路径拷贝到分布式路径下,再有组网的设备B从分布式路径将文件拷贝到设备B的应用沙箱路径。
49
50## 相关权限
51
52- [ohos.permission.DISTRIBUTED_SOFTBUS_CENTER](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissiondistributed_softbus_center)
53- [ohos.permission.ACCESS_SERVICE_DM](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionaccess_service_dm)
54- [ohos.permission.DISTRIBUTED_DATASYNC](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissiondistributed_datasync)
55- [ohos.permission.INTERNET](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet)
56
57## 依赖
58
59不涉及
60
61## 约束与限制
62
631. 本示例仅支持标准系统上运行,支持设备:RK3568。
642. 本示例为Stage模型,支持API14版本以上SDK,版本号:5.0.2.58,镜像版本号:OpenHarmony 5.1.0.50。
653. 本示例需要使用DevEco Studio 5. 1Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。
664. 本示例涉及部分接口需要配置系统应用签名,可以参考[特殊权限配置方法](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/hapsigntool-overview.md) ,把配置文件中的“apl”字段信息改为“system_basic”。
67
68## 下载
69
70```
71git init
72git config core.sparsecheckout true
73echo code/DocsSample/CoreFile/DistributedFileSample > .git/info/sparse-checkout
74git remote add origin https://gitee.com/openharmony/applications_app_samples.git
75git pull origin master
76```
77