[求助]刚学HarmonyOS鸿蒙Next开发,有没有好的MVVM的demo推荐
[求助]刚学HarmonyOS鸿蒙Next开发,有没有好的MVVM的demo推荐 带有两三个页面有跳转,
有网络请求的MVVM的demo
感激不尽
有的,可以参考下这个示例代码,从网络获取图片json地址并显示,也带有页面跳转功能:
https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/tutorials_obtain-network-data
更多关于[求助]刚学HarmonyOS鸿蒙Next开发,有没有好的MVVM的demo推荐的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
一、鸿蒙 ArkTS 版本(推荐,与你设备匹配)
这个 Demo 来自官方或社区,是学习鸿蒙应用开发的最佳选择,与你的 HarmonyOS 设备完全匹配。
- 项目名称:玩Android 鸿蒙版
- 核心内容:
- 使用 MVVM 模式 和官方的状态管理V2。
- 包含页面导航路由功能,实现了页面间的跳转与交互。
- 支持网络请求以获取“玩Android”网站的开放API数据。
- 此外,还包含深色模式、语言切换等实用功能,代码结构清晰,适合学习。
- 获取方式:项目已开源,你可以在 Gitee 代码托管平台上搜索仓库名 wan_android 找到并下载。
二、Flutter 版本
如果你想跨平台开发,这个 Flutter Demo 结构完整,涵盖了 MVVM 的核心要素。
- 项目名称:Flutter MVVM 完整实战
- 核心内容:
- 一个可直接运行的完整项目,包含网络请求(使用 Dio 库)、错误处理和加载状态。
- 使用 Riverpod 进行状态管理,这是 Flutter 中实现 MVVM 或类似架构的流行方案。
- 实现了列表展示和分页加载,是典型的应用场景。
- 获取方式:在 CSDN 博客上搜索文章标题即可找到完整的项目代码和配置。
三、Android 原生 (Kotlin) 版本
如果你想学习安卓原生开发,这个 Demo 非常经典,能帮你理解 MVVM 的基础构成。
- 项目名称:安卓开发 MVVM 的 Demo
- 核心内容:
- 创建一个显示用户列表的应用,清晰地展示了 Model-View-ViewModel 各层的职责。
- 使用 LiveData 和 ViewModel 组件,这是 Android 官方对 MVVM 架构的支持。
- 包含了 RecyclerView 展示列表数据。
- 获取方式:在 CSDN 博客上搜索文章标题即可获得详细的代码和分步讲解。
您好,参考这个demo:应用架构设计基础——MVVM模式-HMOS基础开发实践-Codelabs-华为开发者联盟
可以使用官网推荐的代码示例 文档介绍:本示例通过@ohos.net.http等接口,实现了根据URL地址和相关配置项发起http请求的功能。帮助开发者实现使用http获取网络请求的场景。

具体分析如下:
1. 核心诉求: 用户正在寻找一个基于 MVVM 架构模式的 Demo(示例代码/项目)。
2. 具体需求细节:
- 架构模式: 明确要求是 MVVM。
- 页面结构: 需要包含“两三个页面”,并且要有“页面跳转”的功能(这通常涉及到路由管理或导航)。
- 功能逻辑: 必须包含“网络请求”(这通常涉及到异步操作、数据解析和状态管理)。
3. 用户画像:
- “刚学开发”:说明用户可能是初学者,需要代码结构清晰、注释详细、逻辑简单易懂的项目,而不是过于复杂的大型商业项目。
给这位用户的建议(如果我是回答者):
由于图片中未说明具体的开发平台(是 Android, iOS, WPF, 还是前端 Vue/React, 或是鸿蒙 ArkTS),通常这类问题需要根据具体技术栈来回答。以下是针对主流平台的推荐方向:
-
如果是 Android (Kotlin + Jetpack):
- 推荐搜索 Google 官方的 Sunflower 项目(虽然稍微复杂点,但很标准)或者 Android Architecture Blueprints 中的 Todo app。
- 如果是初学者,可以在 GitHub 搜索
Android MVVM Kotlin Retrofit Navigation,找一些 Star 数适中、代码量少的项目。
-
如果是鸿蒙 (HarmonyOS ArkTS):
- 鉴于你之前的提问,如果是指鸿蒙开发,推荐去 Gitee 或 GitHub 搜索
HarmonyOS MVVM demo。 - 华为官方有一个 Kotlin-MVVM 的示例或者 ArkTS 的简易浏览器/新闻列表 Demo 都很适合。
- 鉴于你之前的提问,如果是指鸿蒙开发,推荐去 Gitee 或 GitHub 搜索
-
如果是前端 (Vue.js):
- Vue 本身就是 MVVM 框架。可以去 GitHub 找
Vue3 Vite Router Axios Demo,随便一个“电商购物车”或“新闻列表”的小练习项目都能满足他的需求。
- Vue 本身就是 MVVM 框架。可以去 GitHub 找
-
如果是 WPF (.NET):
- 推荐搜索
WPF MVVM Light Toolkit Demo或Prism Library Demo。
- 推荐搜索
如果想顺便学习一下端云一体化,可以打开下面的帖子,通过简单的学生信息管理系统,使用到MVVM模式开发、本地使用关系型数据库存储数据、远程使用云数据库存储数据,并用云函数调用云数据库
轻松上手-MVVM模式_关系型数据库_云函数T云数据库
HarmonyOS的社区里有很多技术大牛分享经验,学到了很多有用的知识。
您好,可以参考网址的实例代码
参考 demo地址
https.//developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-mvvm#代码示例
有一个名为“mvvm_demo”的入门级项目,它清晰地展示了Vue.js如何实现Model(数据模型)、View(视图)和ViewModel(视图模型) 的分离,并通过双向数据绑定实现有效交互,非常适合帮助你掌握MVVM的基础概念4,
ArkUI采用了 Model-View-ViewModel(MVVM)架构模式。MVVM 将应用分为Model、View和ViewModel三个核心部分,实现数据、视图与逻辑的分离。通过这种模式,UI可以自动更新状态变化,从而更高效地管理数据和视图的绑定与更新。
- View:用户界面层。负责用户界面展示并与用户交互,不包含任何业务逻辑。它通过绑定ViewModel层提供的数据实现动态更新。
- Model:数据访问层。以数据为中心,不直接与用户界面交互。负责数据结构定义,数据管理(获取、存储、更新等),以及业务逻辑处理。
- ViewModel:表示逻辑层。作为连接Model和View的桥梁,通常一个View对应一个ViewModel。View和ViewModel有两种通信方式:
- 方法调用:View通过事件监听用户行为,在回调里面触发ViewModel层的方法。例如当View监听到用户Button点击行为,调用ViewModel对应的方法,处理用户操作。
- 双向绑定:View绑定ViewModel的数据,实现双向同步。
ArkUI的UI开发模式就属于MVVM模式,通过对MVVM概念的基本介绍,开发者大致能猜到状态管理能在MVVM中起什么样的作用,状态管理旨在数据驱动更新,让开发者只用关注页面设计,而不去关注整个UI的刷新逻辑,数据的维护也无需开发者进行感知,由状态变量自动更新完成,而这就是属于ViewModel层所需要支持的内容,因此开发者使用MVVM模式开发自己的应用是最省心省力的。
参考 demo地址
建议查看HarmonyOS官方文档中的“ArkUI开发示例”,如“购物示例”和“待办事项”均采用MVVM架构。也可在Gitee搜索“HarmonyOS NEXT MVVM”找到开源项目,如“HarmonyOS-MVVM-Architecture”(基于ArkTS+ArkUI)。这些demo结构清晰,可直接参考学习。
可以看官方的 NetworkManagement 示例,它实现了 MVVM 架构,包含多个页面间的路由跳转和完整的网络请求封装。这个示例通过 ViewModel 管理状态,Model 层处理 API 调用,符合你要求的场景。在 DevEco Studio 中通过新建工程选择 “Network Management” 模板即可获取完整代码。


