网站建设与组织管理,嘉祥做网站,百度站长平台,wordpress 内容发布时间介绍
本示例主要展示了文件管理相关的功能#xff0c;使用ohos.multimedia.medialibrary 、ohos.filemanagement.userFileManager 、ohos.fileio 、ohos.file.fs、ohos.app.ability.contextConstant
等接口#xff0c;实现了增添文件、删除文件、查找指定类型文件文件、复制…介绍
本示例主要展示了文件管理相关的功能使用ohos.multimedia.medialibrary 、ohos.filemanagement.userFileManager 、ohos.fileio 、ohos.file.fs、ohos.app.ability.contextConstant
等接口实现了增添文件、删除文件、查找指定类型文件文件、复制并移动文件、切换加密分区和预览图片、监听文件的功能;
效果预览 使用说明
1.在主界面可以点击图片、视频、文档、音频等按钮进入对应目录的文件列表浏览界面
2.在文档列表浏览界面点击“”按钮可以添加文件
3.在文档列表浏览界面长按列表项会出现删除图片点击删除图标可以删除文件
4.在图片文件列表界面点击图片可以进入图片预览界面。
5.进入“我的手机”页面前应先安装MyPhoneFilePage在主页点击“我的手机”进入应用沙箱目录下。
1.列表的上方是默认的EL2加密分区的应用根目录下文件列表点击下方两个按钮“data/app/el3”和“data/app/el4”分别进入EL3和EL4加密分区应用根目录进入后对文件或文件夹操作与EL2加密分区相同。
2.点击左下角“新建文件夹”按钮在弹窗中输入文件夹名称点击弹窗中的“确定”按钮完成创建。
3.点击新建的文件夹进入目录在新目录中点击左下角的“新建文件”在弹窗的窗口中填写文件名称然后点击确定完成创建。
4.点击右上角多选按钮选择需要重命名的文件仅选中一个文件时可用点击重命名在弹窗中修改文件名称点击“确定”完成修改。
5.点击右上角多选按钮选择需要复制和移动的文件可多选并且不可移动到本身的子目录下选中后点击左下角“复制和移动”按钮在页面中点击目标目录会进入该目录在目标目录下点击“移动到这”按钮完成文件复制和移动。
6.点击右上角多选按钮选择需要删除的文件选中后点击右下角“更多”按钮弹出的菜单中选择“删除”在弹窗中点击“删除”即可删除文件。
7.点击右上角多选按钮选择一项需要修改时间的文件选中后点击右下角“更多”按钮弹出的菜单中选择“修改文件(夹)时间”在弹窗的文本框中输入要修改的时间点击“确定”即可修改文件(夹)时间。
8.点击单个文件可进入文件内容页面点击右上角编辑按钮进入编辑模式编辑、修改文件内容然后点击右上角的保存按钮保存对文件的修改点击左上角X按钮退出编辑模式点击返回按钮返回上一页。
6.在主页点击“监听文件”进入文件监听页面。点击添加监听按钮选择IN_CREATE监听然后点击确定按钮成功添加IN_CREATE监听。点击添加按钮成功添加一个文件触发事件后日志显示为相应日志event256fileName为新增文件的路径。点击停止监听按钮选择IN_CREATE监听然后点击确定按钮成功停止IN_CREATE监听。点击添加按钮成功添加一个文件触发事件后日志无变化。点击添加监听按钮选择IN_DELETE监听然后点击确定按钮成功添加IN_DELETE监听。选择要删除的文件item左滑后点击删除图标成功删除一个文件触发事件后日志显示为相应日志event512fileName为删除文件的路径。点击停止监听按钮选择IN_DELETE监听然后点击确定按钮成功停止IN_CREATE监听。选择要删除的文件item左滑后点击删除图标成功删除一个文件触发事件后日志无变化。点击添加监听按钮选择IN_MODIFY监听然后点击确定按钮成功添加IN_MODIFY监听。选择要编辑的文件item左滑后点击编辑图标进入文件编辑界面修改文件名和文件内容修改之后点击保存图标页面显示的文件文件大小发生变化然后点击返回图标后返回文件监听界面查看触发事件后日志显示为相应日志event2fileName为修改后文件的路径。IN_MODIFY监听只监听文件内容是否发生变化若单独修改文件名则不会更新监听日志。点击停止监听按钮选择IN_MODIFY监听然后点击确定按钮成功停止IN_MODIFY监听。选择要编辑的文件item左滑后点击编辑图标进入文件编辑界面修改文件名和文件内容修改之后点击保存图标页面显示的文件文件大小发生变化然后点击返回图标后返回文件监听界面查看触发事件后日志无变化。
工程目录
entry/src/main/ets/
|---Application
|---common
| |---Common.ts // 公用方法如bufferToString
| |---Logger.ts // 监听文件日志
|---filemanager
| |---data
| | |---FileDataSource.ets // 懒加载数据格式
| |---fileFs
| | |---MyWatcher.ts // 预制10个文件进行监听并对文件增删改进行处理以及对添加watcher和删除watcher进行处理
| |---pages
| | |---audio
| | | |---AudioFileList.ets // 音频列表页面
| | |---common
| | | |---FileList.ets // 同类型文件列表展示页面接收文件类型展示特定类型的文件列表
| | |---document
| | | |---DocumentFileList.ets // 文档列表页面
| | |---image
| | | |---ImageFileList.ets // 图片列表页面
| | | |---ImagePreview.ets // 图片预览页面
| | |---MyPhone
| | | |---ChangeTimeDialog.ets //修改时间的弹窗
| | | |---DeleteDialog.ets // 删除时的询问弹窗
| | | |---InputNameDialog.ets // 新增文件时的输入框
| | | |---MyPhone.ets // MyPhone主页
| | | |---OpenFile.ets // 文件内容查看编辑页面
| | |---video
| | | |---VideoFileList.ets // 视频列表页面
| | |---FileManagerHome.ets // 首页主体内容
|---MainAbility
|---pages
| |---WatcherFile.ets // 监听文件页面可对当前目录添加监听和停止监听同时可以添加文件和删除文件并显示触发事件后日志
| |---Index.ets // 首页
| |---EditFile.ets // 文件编辑界面可对文件名和文件内容进行修改并可对文件的修改进行撤销
Library/src/main/ets/
|---filemanager
| |---components
| | |---ThumbnailImage.ets // 缩略图组件
| |---fileio
| | |---FileIoManager.ts // 文件管理模块封装了fileio的接口实现MyPhone部分的功能
| |---medialibrary
| | |---MediaLibraryManager.ts // 主要封装了mediaLibrary库相关的接口实现相关功能如对文件的增、删、查和图片预览功能
| |---userfilemanager
| | |---UserFileManager.ts // 封装userFileManager库相关的接口
| |---FileManager.ts // 文件管理接口统一封装了各模块对外提供的功能接口
|---mock // 本地数据
|---utils // 日志工具具体实现
增添文件、删除文件、查找指定类型文件文件和预览图片的功能接口封装在MediaLibraryManager使用mediaLibrary.getMediaLibrary来获取MediaLibrary对象;读取每个文件的数据使用MediaLibrary.getFileAssets读取满足条件的文件集合FetchFileResult然后调用FetchFileResult.getFirstObject();创建模拟文件使用MediaLibrary.getPublicDirectory()获取系统预定的目录然后使用MediaLibrary.createAsset();删除指定路径的文件使用MediaLibrary.deleteAsset();获取预览图使用image.createImageSource()创建指定的文件资源ImageSource然后调用ImageSource.createPixelMap()MyPhone模块中的文件增删、复制移动、查找功能封装在FileSystem源码参考FileIoManager.ets 。读取文件列表使用fileio.opendirSync()打开指定目录dir然后使用dir.readSync()读取文件内容dirent在调用dirent中相关api获取想要的文件参数;创建目录使用fileio.mkdirSync()创建文件夹创建文件使用fileio.openSync()创建文件删除选中内容使用fileio.rmdirSync()删除文件夹使用fileio.unlinkSync()删除文件复制文件使用fileio.copyFileSync()复制目标文件移动文件使用fileio.mkdirSync()创建指定目录再递归选中目录中的文件将内部的文件创建到指定的位置。修改加密分区修改应用上下文Context的area实现当前加密分区的修改。在Library模块中通过封装FileManager向外提供功能接口如MediaLibraryManager.getPixelMapByFileAsset()如效果预览中的图片列表读取指定类型的文件在FileList.ets 中调用FileManager.getFileAssets()创建模拟文件在FileList.ets 中调用FileManager.createTxtFileAsset()删除指定路径的文件在FileList.ets 中调用FileManager.deleteFileAsset()获取缩略图在ThumbnailImage.ets 中调用FileManager.getThumbnail()如效果预览中的图片预览获取预览图在ImagePreview.ets中调用FileManager.getPixelMapByFileAsset()。监听文件模块中的文件增删、查找、修改、监听功能封装在MyWatcher。增加文件、删除文件、监听文件、停止监听文件在WatcherFile.ets中调用MyWathcer.addFileToWatcher()、MyWathcer.deleteFileToWatcher()、MyWathcer.startWatcher(watcherName)、MyWathcer.stopWatcher()修改文件在EditFile.ets中调用MyWatcher.modifyFileToWatcher()。
相关权限
ohos.permission.READ_MEDIA
ohos.permission.WRITE_MEDIA
ohos.permission.FILE_ACCESS_MANAGER
ohos.permission.STORAGE_MANAGER
依赖
不涉及
约束与限制
本示例仅支持标准系统上运行支持设备RK3568;本示例为Stage模型仅支持API11版本SDKSDK版本号(API Version 11Beta),镜像版本号(4.1Beta)。本示例需要使用DevEco Studio 版本号(4.0Release)及以上版本才可编译运行。本示例涉及调用系统权限的接口需要配置允许权限列表可以参考特殊权限配置方法在配置文件中的“allowed-acls”字段中增加ohos.permission.READ_MEDIA, “ohos.permission.WRITE_MEDIA”,“ohos.permission.FILE_ACCESS_MANAGER”,ohos.permission.STORAGE_MANAGER四个权限。
下载
如需单独下载本工程执行如下命令
git init
git config core.sparsecheckout true
echo code/BasicFeature/FileManager/FileManager/ .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master为了帮助大家更深入有效的学习到鸿蒙开发知识点小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源获取完整版方式请点击→HarmonyOS教学视频https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
HarmonyOS教学视频语法ArkTS、TypeScript、ArkUI等…视频教程 鸿蒙生态应用开发白皮书V2.0PDF 获取完整版白皮书方式请点击→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?ua42c4946d1514235863bb82a7b2ac128 鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
一、入门必看
1.应用开发导读(ArkTS) 2………
二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.系统定义 2.技术架构 3.技术特性 4.系统安全 5…
三、如何快速入门→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念 2.构建第一个ArkTS应用 3…
四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.应用基础知识 2.配置文件 3.应用数据管理 4.应用安全管理 5.应用隐私保护 6.三方应用调用管控机制 7.资源分类与访问 8.学习ArkTS语言
五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.Ability开发 2.UI开发 3.公共事件与通知 4.窗口管理 5.媒体 6.安全 7.网络与链接 8.电话服务 9.数据管理 10.后台任务(Background Task)管理 11.设备管理 12.设备使用信息统计 13.DFX 14.国际化开发 15.折叠屏系列
更多了解更多鸿蒙开发的相关知识可以参考https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3