当前位置: 首页 > news >正文

华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅

华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅

引言

在当今移动应用开发的浪潮中,鸿蒙系统凭借其独特的分布式能力和高效的开发框架,吸引了众多开发者的目光。今天要给大家介绍的是一个基于华为鸿蒙系统开发的开眼App项目——HarmonyOpenEye,它不仅展示了鸿蒙开发的强大功能,还为开发者提供了丰富的学习资源。
在这里插入图片描述

项目概述

HarmonyOpenEye是一个基于华为鸿蒙HarmonyOS Api9 + Stage模式 + ArkTs + ArkUI开发的开眼App。该项目实现了开眼App的主要功能,包括视频播放、列表刷新加载等,同时还封装了常用组件、网络请求、页面多状态管理等,为开发者提供了一个完整的开发范例。

项目功能亮点

  1. 常用组件提取:项目中提取了常用的组件,方便在不同页面复用,提高开发效率。
  2. 网络请求封装:基于axios对网络请求进行了基础封装,简化了网络请求的流程。
  3. 页面多状态管理:封装了项目页面的多状态,如加载中、成功、失败、空数据等,提升了用户体验。
  4. 视频播放功能:支持视频播放以及视频列表播放,为用户提供流畅的视频观看体验。
  5. 刷新加载示例:提供了列表页面刷新加载的示例,方便开发者实现类似功能。
  6. EventBus和Storage使用模板:新增了EventBus和Storage的使用模板,方便开发者进行事件传递和数据存储。
  7. 全局loading实现:添加了全局loading的实现,让用户在等待数据加载时能有更好的视觉反馈。
  8. mock接口登陆状态校验:实现了mock接口登陆状态校验和跳转登陆页面修改登陆状态的场景,方便开发者进行测试。

相关学习练手项目

除了鸿蒙版本的开眼App,项目作者还提供了其他一些学习练手的项目,涵盖了不同的技术栈:

  1. Flutter版本
    • 开眼App:https://github.com/WinWang/open_eye,使用getx + retrofit + dio + jsonserialize + 自定义控件。
    • 音乐播放App:https://github.com/WinWang/music_listener,使用getx + retrofit + dio。
  2. ReactNative版本:开眼App:https://github.com/WinWang/RNOpenEye,基于ReactNative - 0.72。
  3. React版本:开眼App:[https://github.com/WinWang/react - oepn - eye](https://github.com/WinWang/react - oepn - eye),使用React18 + React - Vant + Mobx + axios。
  4. 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。
  5. 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_modulesoh_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:定义了项目中使用的数据模型,如TopicDetailModelFocusModelTopicModel等。
      • 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.jsonstring.json,方便统一管理应用的颜色和文本信息。
  • entry/src/ohosTest:测试代码目录。
    • entry/src/ohosTest/ets/testrunner:包含了测试运行器类OpenHarmonyTestRunner.ts,用于执行测试任务。
    • entry/src/ohosTest/resources:测试资源文件目录。

script目录

  • script/float.json:定义了一些浮动尺寸的值,如size_1size_166,方便在布局中使用。

总结

HarmonyOpenEye项目为开发者提供了一个全面的鸿蒙开发范例,无论是对于初学者还是有经验的开发者来说,都具有很高的学习价值。通过学习该项目的代码结构和功能实现,开发者可以更好地掌握鸿蒙开发的技巧和方法,快速上手开发自己的鸿蒙应用。同时,项目作者提供的其他学习练手项目也为开发者提供了更多的选择和参考,帮助开发者拓宽技术视野。

希望这篇文章能对大家了解HarmonyOpenEye项目有所帮助,如果你对鸿蒙开发感兴趣,不妨去项目仓库中一探究竟!

以上就是对HarmonyOpenEye项目的详细介绍,希望大家在开发过程中有所收获。如果有任何问题或建议,欢迎在评论区留言交流。

#鸿蒙开发 #HarmonyOpenEye #开眼App #代码结构分析

http://www.dtcms.com/a/272914.html

相关文章:

  • SSRF(ctfshow)
  • 【第三章-基础】Python 字典
  • 3D Surface Reconstruction with Enhanced High-Frequency Details
  • 【成长】-进步论
  • GlobalMapper用DSM转DEM
  • Zotero+zotmoov+坚果云同步
  • mysql索引底层原理
  • 智慧城市网络架构升级与SD-WAN技术应用实践
  • C++11 划分算法原理解析:is_partitioned、partition_copy与partition_point
  • 设备管理系统架构演进:从本地化部署到云端协同的 2025 新趋势
  • [Java实战]Spring Boot 3实战:使用QQ邮箱发送精美HTML邮件(四十三)
  • k8s之Helm详细讲解
  • 壁仞 k8s 兼容
  • 强化学习算法基准测试:6种算法在多智能体环境中的表现实测
  • 【oscp】超长攻击链vulhub靶机,TommyBoy1dot0
  • 开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记
  • 网络安全(初级)(1)
  • 【数据结构与算法】数据结构初阶:动态顺序表各种方法(接口函数)复盘与整理
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘logging’问题
  • 高并发导致重复key问题--org.springframework.dao.DuplicateKeyException
  • 【科研绘图系列】R语言绘制相关系数图
  • easyui碰到想要去除顶部栏按钮边框
  • “SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI指数生态质量评价
  • brpc中的bthread_jump_fcontext汇编函数到底发生了什么?
  • three2.0
  • 鸿蒙开发文档
  • C语言易错点整理(一)
  • 开源无线硬件系列射频收发器模块 RFMC6000
  • 亚马逊运营中出单词反查功能的深度应用
  • 【fitz+PIL】PDF图片文字颜色加深