Name Date Size

..25-Oct-20244 KiB

.gitignoreH A D25-Oct-2024119

AppScope/H25-Oct-20244 KiB

build-profile.json5H A D25-Oct-20241.2 KiB

entry/H25-Oct-20244 KiB

hvigor/H25-Oct-20244 KiB

hvigorfile.tsH A D25-Oct-2024234

hvigorwH A D25-Oct-20241.4 KiB

hvigorw.batH A D25-Oct-20241.5 KiB

oh-package.json5H A D25-Oct-2024235

ohosTest.mdH A D25-Oct-20241.2 KiB

README_zh.mdH A D25-Oct-20243.3 KiB

screenshots/H25-Oct-20244 KiB

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