• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-1,9621,746

hvigor/06-May-2025-2423

screenshots/06-May-2025-

.gitignoreD06-May-2025119 1111

README_zh.mdD06-May-20253.3 KiB7350

build-profile.json5D06-May-20251.2 KiB5251

hvigorfile.tsD06-May-2025234 75

hvigorwD06-May-20251.4 KiB5531

hvigorw.batD06-May-20251.5 KiB5446

oh-package.json5D06-May-2025235 1413

ohosTest.mdD06-May-20251.2 KiB129

README_zh.md

1#  UDMF Demo
2
3### 介绍
4
5本示例主要使用[@ohos.data.uniformTypeDescriptor](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-uniformTypeDescriptor.md)
6[@ohos.data.unifiedDataChannel](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.data.unifiedDataChannel.d.ts)展示了标准化数据定义与描述的功能,在新增预置文件后,对文件的utd标准类型获取、utd类型归属类型查询、获取文件对应的utd类型的默认图标等功能。 实现过程中还使用到[@ohos.file.fs](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md) 等接口。
7另外,展示了ArkTS控件[拖拽事件](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-drag-drop.md)中使用UDMF数据结构相关实现。
8
9
10
11### 效果预览
12
13|首页|文件过滤| 文本拖拽结果                         |
14|--------------------------------|--------------------------------|--------------------------------|
15|![image](screenshots/first.png)|![image](screenshots/select.png)| ![image](screenshots/drag.png) |
16
17
18使用说明
191. 在主界面,类型过滤下拉框中,选择某一文件类型后,文件呈现区域展示对应类型的所有文件;
202. 在主界面,点击txt后缀的文件,文本呈现区域可展示文件内容;
213. 在主界面,对于txt后缀的文件,长按拖拽到右上角的文本控件区域,被拖拽的文件会被另存为新的文件,新生成的文件名会在组件内显示,如果文件名过长会在组件内滚动显示;
224. 在主界面,在“文本呈现区域”右边长按拖拽到右上角的文本控件区域,被拖拽的文本会被另存为新的文件,新生成的文件名会在组件内显示,如果文件名过长会在组件内滚动显示;
23
24### 工程目录
25
26```
27entry/src/main/ets/
28|---entryAbility
29|---fileFs
30|   |---fileFs.ets
31|---util
32|   |---Common.ets
33|   |---Logger.ets
34|---pages|
35|   |---Index.ets      // 首页
36```
37
38### 具体实现
39
40#### 场景一:下拉列表选择不同数据类型可以进行过滤文件
41* 预置条件:应用中设置不同类型的文件数据到沙箱内
42* 输入:指定文件类型
43* 输出:筛选出指定文件类型,过滤后的文件图标排列到文件呈现区域。
44
45
46#### 场景二:实现选择出来的文件/文本信息能够被拖拽到另一个设备的应用内落为文件
47* 输入:选定文件/文本
48
49* 输出:
501.拖拽文件/数据到落入框后, 落入文件/数据另存为文件;
51
52### 相关权限
5354### 依赖
55
56不涉及
57
58### 约束与限制
59
601. 本示例仅支持标准系统上运行,支持设备:RK3568。
612. 本示例为Stage模型,仅支持API12版本SDK,SDK版本号(API Version 12 Release),镜像版本号(OpenHarmony 5.0.0.25及更高版本)。
623. 本示例需要使用DevEco Studio 版本号(4.1Release)及以上版本才可编译运行。
63
64### 下载
65
66如需单独下载本工程,执行如下命令:
67
68    git init
69    git config core.sparsecheckout true
70    echo code/BasicFeature/DataManagement/UDMF/UDMFDemo/ > .git/info/sparse-checkout
71    git remote add origin https://gitee.com/openharmony/applications_app_samples.git
72    git pull origin master
73