| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 自学HarmonyOS应用开发(69)- 获取并表示手机目录结构 -> 正文阅读 |
|
[Java知识库]自学HarmonyOS应用开发(69)- 获取并表示手机目录结构 |
和文件存储比较起来,一般用户更关心的是文件系统的目录结构。本文介绍获取和表示目录结构的方法。先看演示视频: File类 这是一个Java中的标准类,提供跨平台的文件访问功能。本文主要使用文件类的下面几个功能:
BrowserItem类 目录项的基类,功能是封装下图中每个目录项的功能。 BrowerItem类的代码如下:
这个类的主要功能有:
生成目录项表示组件 BrowerItemProvider为目录项生成表示组件时会调用createUIComponent方法:???????
切换当前目录 在FileListContainer构建BrowserItemProvider时,会同时构建一个ItemListener并登录到BrowserItemProvider的实例上:???????
ItemListener收到当前目录切换的通知之后会进行以下处理:
BroswerItemProvider的setCurrnetDir方法如下:???????
代码取得当前目录的子项目之后,分别构建返回上级目录项目,目录项目和文件项目。在构建返回上级目录项目和目录项目时会将ListContainer生成的ItemListener同时传递给这两种列表项。 返回上级目录列表项 当用户进入某一级目录后,最上面的列表项是返回上级目录项。点击它右侧的<<按钮,可以切换回上级目录。???????
createUiComponent在构建表示组件时,为[<<]组件指定了onClick方法。在这个方法中会调用listener对象的changeDir方法,而这个changeDir就是FileListContainer构建BrowserItemProvider时指定的那个。 DirItem 目录列表项和ParentItem的不同之处有:
具体代码如下:???????
FileItem 表示单个文件列表项的FileItem就简单了:???????
用户选择目录时更新详细信息表示画面的内容请参照前一篇文章,本文不再重复说明 参考资料 File https://developer.harmonyos.com/cn/docs/documentation/doc-references/file-0000001054119759 ListContainer https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-java-component-listcontainer-0000001060007847 FileSystems https://developer.harmonyos.com/cn/docs/documentation/doc-references/filesystems-0000001054238505 FileSystem https://developer.harmonyos.com/cn/docs/documentation/doc-references/filesystem-0000001054558507 参考代码 完整代码可以从以下链接下载:https://github.com/xueweiguo/Harmony/tree/master/FileBrowser 作者著作介绍 《实战Python设计模式》是作者去年3月份出版的技术书籍,该书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。 对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。 觉得本文有帮助?请分享给更多人。 关注微信公众号【面向对象思考】轻松学习每一天! 面向对象开发,面向对象思考! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:35:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |