作者:赵军霞
介绍
本示例主要使用 @ohos.data.uniformTypeDescriptor
@ohos.data.unifiedDataChannel展示了标准化数据定义与描述的功能,在新增预置文件后,对文件的utd标准类型获取、utd类型归属类型查询、获取文件对应的utd类型的默认图标等功能。 实现过程中还使用到 @ohos.file.fs 等接口。
另外,展示了ArkTS控件 拖拽事件中使用UDMF数据结构相关实现。
应用场景
场景一:下拉列表选择不同数据类型可以进行过滤文件
- 预置条件:应用中设置不同类型的文件数据到沙箱内
- 输入:指定文件类型
- 输出:筛选出指定文件类型,过滤后的文件图标排列到文件呈现区域。
场景二:实现选择出来的文件/文本信息能够被拖拽到另一个设备的应用内落为文件
文件
- 输入:选定文件
- 输出:拖拽文件到落入框后, 落入文件另存为文件,另存为的文件名显示在落入框。
文本
- 输入:选定文本
- 输出:拖拽文本到落入框后, 落入文本另存为文件,另存为的文件名显示在落入框。
环境
-
本示例仅支持标准系统上运行,支持设备:RK3568。
-
本示例为Stage模型,仅支持API12版本SDK,SDK版本号(API Version 12 Release),镜像版本号(OpenHarmony 5.0.0.25及更高版本)。
-
本示例需要使用DevEco Studio 版本号(4.1Release)及以上版本才可编译运行。
实现效果
代码展示
文件过滤
文件拖拽
文件落入
文本拖拽
文本落入
界面展示
使用方法
-
在主界面,类型过滤下拉框中,选择某一文件类型后,文件呈现区域展示对应类型的所有文件;
-
在主界面,点击txt后缀的文件,文本呈现区域可展示文件内容;
-
在主界面,对于txt后缀的文件,长按拖拽到右上角的文本控件区域,被拖拽的文件会被另存为新的文件,新生成的文件名会在组件内显示,如果文件名过长会在组件内滚动显示;
-
在主界面,在“文本呈现区域”右边长按拖拽到右上角的文本控件区域,被拖拽的文本会被另存为新的文件,新生成的文件名会在组件内显示,如果文件名过长会在组件内滚动显示;
相关权限
普通用户权限即可,不需要系统权限。
样例参考路径
见sample仓的code/BasicFeature/DataManagement/UDMF/UDMFDemo目录。
本文作者: 深开鸿