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

1. lib/utils/

1.1. date_util.dart

这是一个日期格式化工具类。DateUtil 是一个工具类,提供静态方法来处理日期格式化操作。

使用场景

  • 在需要显示标准日期格式的地方调用
  • 统一整个应用的日期显示格式
  • 避免在各个地方重复编写相同的格式化代码

这是一个非常基础和实用的工具类,帮助保持应用中日期显示的一致性。

1.2. storage_util.dart

这是一个本地存储工具类。StorageUtil 是一个综合性的本地存储工具类,集成了 SharedPreferences 和 Hive 两种存储方式,用于管理用户登录状态和个人信息。
存储技术

  1. SharedPreferences
  • 用于存储简单的键值对数据(如token)
  • 适合存储小量、简单的数据
  1. Hive
  • 用于存储复杂的对象数据(如UserModel)
  • 高性能的NoSQL本地数据库
  • 需要注册适配器(UserModelAdapter)

使用场景

  • 用户登录状态的持久化存储
  • token的本地缓存管理
  • 用户个人信息的本地存储
  • 登录状态的检查和验证

这是一个典型的生产级存储工具类,提供了完整的用户会话管理功能。

2. lib/hive_registrar.g.dart

这是一个由Hive CE自动生成的适配器注册文件。hive_registrar.g.dart 是一个自动生成的文件,用于注册Hive数据库的适配器。

主要功能

  1. 适配器注册
    提供了两个扩展方法用于注册适配器:
  • HiveRegistrar.registerAdapters(): 用于主线程
  • IsolatedHiveRegistrar.registerAdapters(): 用于隔离线程
  1. 注册的适配器
  • UserModelAdapter(): 用户模型的Hive适配器
  • 允许Hive数据库序列化和反序列化UserModel对象

文件特性

  • 自动生成

    • 由Hive CE工具自动生成
    • 文件头部有明确的"请勿修改"提示
    • 建议纳入版本控制
  • 线程安全

    • 提供主线程和隔离线程两种注册方式

    • 确保在不同执行环境中都能正确使用Hive

使用场景

  • 在应用启动时调用注册方法
  • 确保Hive能够正确处理自定义模型对象
  • 通常在StorageUtil的init()方法中调用

设计意义

  • 解耦: 将适配器注册逻辑与业务代码分离
  • 自动化: 避免手动编写重复的适配器注册代码
  • 标准化: 提供统一的适配器注册接口

这是一个典型的Hive代码生成文件,确保了数据模型的持久化存储功能正常工作。

3. lib/pages/home/components/banner_section.dart

这是一个轮播图组件(BannerSection)。BannerSection 是一个轮播图组件,使用 carousel_slider 包实现图片的自动轮播和手动滑动切换。这是一个典型的主页banner组件,提供良好的用户体验和视觉效果。

4. 横向卡片列表组件

横向滚动:使用 ListView.separated 实现水平滑动

5. Flutter GetX 的使用

GetX 是 Flutter 中一个轻量级且功能强大的框架,集成了 状态管理、路由管理 和 依赖注入,以其简单、高效、灵活的特性受到开发者的广泛欢迎。它不仅适用于小型项目,也能很好地支持中大型项目的开发需求。

5.1. 状态管理的使用场景

  • 响应式状态管理:适合需要频繁更新的场景,如表单验证、计数器。
  • 简单状态管理:适合不需要频繁更新的场景,如购物车商品数量更新。

5.2. 路由管理的使用场景

  • 动态路由:适合需要传递参数的场景,如商品详情页。
  • 命名路由:适合多页面导航的场景。
  • 路由守卫:适合登录验证、权限控制的场景。

5.3. 依赖注入的使用场景

  • 全局依赖:适合全局服务的场景,如 API 服务。
  • 局部依赖:适合页面级别的依赖,如页面控制器。

6. 功能验证

6.1. 登陆信息存储

6.2. 轮播图

6.3. 横向卡片

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐