华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅
华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅
引言
在当今移动应用开发的浪潮中,鸿蒙系统凭借其独特的分布式能力和高效的开发框架,吸引了众多开发者的目光。今天要给大家介绍的是一个基于华为鸿蒙系统开发的开眼App项目——HarmonyOpenEye,它不仅展示了鸿蒙开发的强大功能,还为开发者提供了丰富的学习资源。
项目概述
HarmonyOpenEye是一个基于华为鸿蒙HarmonyOS Api9 + Stage模式 + ArkTs + ArkUI开发的开眼App。该项目实现了开眼App的主要功能,包括视频播放、列表刷新加载等,同时还封装了常用组件、网络请求、页面多状态管理等,为开发者提供了一个完整的开发范例。
项目功能亮点
- 常用组件提取:项目中提取了常用的组件,方便在不同页面复用,提高开发效率。
- 网络请求封装:基于axios对网络请求进行了基础封装,简化了网络请求的流程。
- 页面多状态管理:封装了项目页面的多状态,如加载中、成功、失败、空数据等,提升了用户体验。
- 视频播放功能:支持视频播放以及视频列表播放,为用户提供流畅的视频观看体验。
- 刷新加载示例:提供了列表页面刷新加载的示例,方便开发者实现类似功能。
- EventBus和Storage使用模板:新增了EventBus和Storage的使用模板,方便开发者进行事件传递和数据存储。
- 全局loading实现:添加了全局loading的实现,让用户在等待数据加载时能有更好的视觉反馈。
- mock接口登陆状态校验:实现了mock接口登陆状态校验和跳转登陆页面修改登陆状态的场景,方便开发者进行测试。
相关学习练手项目
除了鸿蒙版本的开眼App,项目作者还提供了其他一些学习练手的项目,涵盖了不同的技术栈:
- Flutter版本:
- 开眼App:https://github.com/WinWang/open_eye,使用getx + retrofit + dio + jsonserialize + 自定义控件。
- 音乐播放App:https://github.com/WinWang/music_listener,使用getx + retrofit + dio。
- ReactNative版本:开眼App:https://github.com/WinWang/RNOpenEye,基于ReactNative - 0.72。
- React版本:开眼App:[https://github.com/WinWang/react - oepn - eye](https://github.com/WinWang/react - oepn - eye),使用React18 + React - Vant + Mobx + axios。
- Vue版本:
- Vue2版本WanAndroid:[https://github.com/WinWang/Vue - WanAndroid](https://github.com/WinWang/Vue - WanAndroid),使用Vue2 + vuex + vant + axios。
- Vue3版本WanAndroid:[https://github.com/WinWang/Vue3 - wanAndroid](https://github.com/WinWang/Vue3 - wanAndroid),使用vue3 + typeScript + pinia + vant + vite。
- Android组件化项目:
- ReadingGallery:https://github.com/WinWang/ReadingGallery,使用jetpack + kotlin + koin + couroutine。
- ApplicationInit:https://github.com/WinWang/ApplicationInit,使用gradle - plugin + 注解APT + ASM。
项目演示图片
项目README中提供了丰富的演示图片,展示了App的界面和功能,让开发者可以直观地了解项目的效果。
代码结构分析
根目录
.gitignore
:指定了Git版本控制中需要忽略的文件和文件夹,如node_modules
、oh_modules
等。hvigorfile.ts
:用于编译构建行为的脚本,目前基于@ohos/hvigor - ohos - plugin
,不能修改。hvigorw.bat
:Windows系统下的Hvigor启动脚本,用于执行构建任务。
entry目录
entry/.gitignore
:指定了entry模块中需要忽略的文件和文件夹。entry/hvigorfile.ts
:entry模块的编译构建脚本,同样基于@ohos/hvigor - ohos - plugin
。entry/src/main
:主要的源代码目录。entry/src/main/ets
:TypeScript代码目录。entry/src/main/ets/model
:定义了项目中使用的数据模型,如TopicDetailModel
、FocusModel
、TopicModel
等。entry/src/main/ets/entryability
:包含了应用的入口Ability类EntryAbility.ts
,负责应用的生命周期管理和窗口创建。entry/src/main/ets/utils
:工具类目录,如LogUtils.ts
,用于日志记录。
entry/src/main/resources
:资源文件目录。entry/src/main/resources/base/element
:包含了颜色和字符串资源文件,如color.json
和string.json
,方便统一管理应用的颜色和文本信息。
entry/src/ohosTest
:测试代码目录。entry/src/ohosTest/ets/testrunner
:包含了测试运行器类OpenHarmonyTestRunner.ts
,用于执行测试任务。entry/src/ohosTest/resources
:测试资源文件目录。
script目录
script/float.json
:定义了一些浮动尺寸的值,如size_1
到size_166
,方便在布局中使用。
总结
HarmonyOpenEye项目为开发者提供了一个全面的鸿蒙开发范例,无论是对于初学者还是有经验的开发者来说,都具有很高的学习价值。通过学习该项目的代码结构和功能实现,开发者可以更好地掌握鸿蒙开发的技巧和方法,快速上手开发自己的鸿蒙应用。同时,项目作者提供的其他学习练手项目也为开发者提供了更多的选择和参考,帮助开发者拓宽技术视野。
希望这篇文章能对大家了解HarmonyOpenEye项目有所帮助,如果你对鸿蒙开发感兴趣,不妨去项目仓库中一探究竟!
以上就是对HarmonyOpenEye项目的详细介绍,希望大家在开发过程中有所收获。如果有任何问题或建议,欢迎在评论区留言交流。
#鸿蒙开发 #HarmonyOpenEye #开眼App #代码结构分析