#学习资料:

可参考​​​​​​https://bxming.blog.csdn.net/article/details/156203132

https://blog.csdn.net/tyty0214/article/details/157311564?fromshare=blogdetail&sharetype=blogdetail&sharerId=157311564&sharerefer=PC&sharesource=tyty0214&sharefrom=from_link

https://blog.csdn.net/tyty0214/article/details/157379995
https://blog.csdn.net/tyty0214/article/details/157442068


#前置条件:

##环境搭建

1.已安装VScode,Git,DevEco Studio,Java17,Android Studio这些软件。

##多终端工程创建运行
##注册AtomGit账号

#具体流程:

##一,功能开发与代码修改

核心修改文件:lib/pages/mushroom_list_page.dart(列表页面逻辑)

  1. 初始化核心状态变量

    • 新增刷新加载控制器:RefreshController _refreshController = RefreshController(initialRefresh: false);
    • 新增分页参数:int _page = 1; final int _pageSize = 5;(控制 5 条 / 页)
    • 新增状态变量:bool _hasMore = true;(是否有更多数据)、LoadState _loadState = LoadState.loading;(加载状态枚举)
  2. 实现数据加载核心方法 _loadData

    • 逻辑:根据 isRefresh(是否刷新)判断是重置数据还是追加数据
    • 关键修复:下拉刷新时强制重置 _page = 1_hasMore = true,避免刷新后无法上拉
    • 数据处理:从 API 获取数据后,解析为 MushroomModel 列表,更新 UI 状态
  3. 实现下拉刷新与上拉加载回调

    • 下拉刷新:_onRefresh() → 调用 _loadData(isRefresh: true)
    • 上拉加载:_onLoading() → 调用 _loadData(isRefresh: false),判断 _hasMore 决定是否加载
  4. 添加多状态提示 UI(_buildStateWidget

    • 加载中:显示圆形进度条 +「正在加载蘑菇列表...」
    • 加载失败:显示错误图标 + 重试按钮
    • 数据为空:显示空状态图标 + 提示文本
    • 加载成功:隐藏状态遮罩,显示列表
  5. 优化列表 Item 布局(_buildMushroomItem

    • 实现图片 + 文字横向布局,添加图片加载中 / 失败占位图标
    • 优化阴影、圆角样式,提升视觉效果
##二,鸿蒙设备运行验证
  1. 环境准备

    • 确保鸿蒙虚拟机(NAT 模式)已启动,API 服务正常运行(node server.js
    • 确认 Flutter 项目中 API 地址已改为 http://10.0.2.2:5000/api(NAT 模式固定映射)
##三,代码上传至远端仓库


#DAY3总结:

##主要任务:

为开源鸿蒙跨平台工程的列表清单实现上拉加载、下拉刷新及数据加载提示能力,并完成开源鸿蒙设备运行验证。

##完成

###1. 列表功能增强

  • ✅ 已实现列表上拉加载更多、下拉刷新完整逻辑

  • ✅ 已添加加载中 / 加载失败 / 数据为空的多状态提示 UI

  • ✅ 已修复下拉刷新后无法上拉加载的状态重置问题

  • ✅ 已优化列表 Item 布局,添加图片加载中 / 失败占位图标

###2. 鸿蒙设备验证

  • ✅ 已确认 API 地址配置为 http://10.0.2.2:5000/api,适配 NAT 模式虚拟机

  • ✅ 已验证应用在鸿蒙虚拟机中可正常加载列表数据和图片

  • ✅ 已完成上拉加载、下拉刷新、异常重试的全流程功能测试

###3. 代码版本管理

  • ✅ 已将新增功能代码提交至本地 Git 仓库

    ##欢迎加入开源鸿蒙跨平台社区
    https://openharmonycrossplatform.csdn.net
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐