| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| PageImg/ | 06-May-2025 | - | ||||
| entry/ | 06-May-2025 | - | 1,015 | 907 | ||
| hvigor/ | 06-May-2025 | - | 38 | 36 | ||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README_zh.md | D | 06-May-2025 | 5.2 KiB | 92 | 66 | |
| build-profile.json5 | D | 06-May-2025 | 1.5 KiB | 65 | 64 | |
| hvigorfile.ts | D | 06-May-2025 | 843 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 809 | 26 | 24 | |
| ohosTest.md | D | 06-May-2025 | 1 KiB | 12 | 8 |
README_zh.md
1# 开发用户文件管理器(仅对系统应用开放) 2 3### 介绍 4 5本示例主要展示了自行开发文件管理器与开发设备上下线,使用[@ohos.file.fileAccess](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-fileAccess-sys.md)等,实现了查询设备列表、浏览目录、操作文件或目录、监听设备上下线的功能。该工程中展示的代码详细描述可查如下链接。 6 7- [开发用户文件管理器](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/dev-user-file-manager.md) 8 9### 效果预览 10 11|主界面| 12|--------------------------------| 13|<img src="PageImg\DevelopingFileManager1.jpeg" style="zoom:33%;" width="400" />| 14 15| 开发用户文件管理器页面 | 16| ------------------------------------------------------------ | 17| <img src="PageImg\DevelopingFileManager2.jpeg" style="zoom:33%;" width="400" /> | 18 19| 监听设备上下线页面 | 20| ------------------------------------------------------------ | 21| <img src="PageImg\DevelopingFileManager3.jpeg" style="zoom:33%;" width="400" /> | 22 23使用说明: 24 251. 在主界面,可以选择点击DevelopingFileManagerApplication按钮切换到开发用户文件管理器页面,点击ListeningForDeviceOnline/OfflineStatus按钮切换到监听设备上下线页面。 262. 在开发用户文件管理器页面,点击CreateFile按钮,将在指定目录创建一个文件,在日志中打印文件的uri,在页面文本框输出创建成功消息。 273. 在监听用户上下线页面,点击RegisterToMonitorTheDevice按钮,此时开发板将监听外置存储设备的上下线,将U盘插入到开发板,日志将输出“NotifyType: ”与“NotifyUri:”,并将监听成功的结果输出到页面文本框。点击CancelMonitoringTheDevice按钮将取消监听。 28 29### 工程目录 30 31``` 32├──entry/src/main 33| ├──ets 34| | ├──common 35| | | └──Logger.ts // 日志打印封装类 36| | ├──entryability 37| | | └──EntryAbility.ets // 程序入口类 38| | ├──entrybackupability 39| | | └──EntryBackupAbility.ets 40| | ├──filemanager 41| | | ├───pages 42| | | | └──FileManagerApplication.ets // 用户文件管理器界面 43| | | | └──ListeningForDeviceOnline.ets // 监听设备上下线界面 44| | └──pages 45| | └──Index.ets // 主界面 46| ├──resources // 资源文件目录 47``` 48 49### 具体实现 50 51* 开发用户文件管理器: 52 * 权限配置和导入模块。 申请ohos.permission.FILE_ACCESS_MANAGER和ohos.permission.GET_BUNDLE_INFO_PRIVILEGED权限,参见[申请应用权限](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/determine-application-mode.md)。 53 * 导入依赖模块。 54 * 创建一个文件访问助手对象,然后使用该对象获取根目录迭代器,并遍历所有根目录信息。 55 * 使用listfile接口遍历下一级所有文件(目录)的迭代器对象;通过scanfile过滤指定目录,获取满足条件的迭代器对象。 56 * 定义目标目录的 URI 和文件的显示名称,然后使用 [createFile](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-fileAccess-sys.md#createfile)方法创建文件。 57* 开发监听设备上下线: 58 * 权限配置和导入模块。 59 * 导入依赖模块。 60 * 根据[DEVICES_URI](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-fileAccess-sys.md#常量),传入方法registerObserver()中,能监听设备上下线状态。传入方法unregisterObserver()中,能取消监听设备上线,下线状态。 61 62### 相关权限 63 64[ohos.permission.FILE_ACCESS_MANAGER](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionfile_access_manager) 65 66[ohos.permission.GET_BUNDLE_INFO_PRIVILEGED](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionget_bundle_info_privileged) 67 68### 依赖 69 70不涉及 71 72### 约束与限制 73 741.本示例仅支持标准系统上运行,支持设备:RK3568。 75 762.本示例已适配API16版本SDK,版本号:5.1.0.47,镜像版本号:OpenHarmony5.1.0.47。 77 783.本示例需要使用DevEco Studio (5.0.3.910)及以上版本才可编译运行。 79 804.本示例相关权限为system_basic级别,需要配置高权限签名,可参考[申请使用受控权限](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/security/AccessToken/declare-permissions-in-acl.md)。 81 82### 下载 83 84如需单独下载本工程,执行如下命令: 85 86``` 87git init 88git config core.sparsecheckout true 89echo code/DocsSample/CoreFile/UserFile/DevelopingFileManagerApplication > .git/info/sparse-checkout 90git remote add origin https://gitee.com/openharmony/applications_app_samples.git 91git pull origin master 92```