19 知识要点复盘 flutter on openHarmony
欢迎加入开源鸿蒙跨平台社区: https://openharmonycrossplatform.csdn.net这是一个日期格式化工具类。DateUtil 是一个工具类,提供静态方法来处理日期格式化操作。使用场景这是一个非常基础和实用的工具类,帮助保持应用中日期显示的一致性。这是一个本地存储工具类。StorageUtil 是一个综合性的本地存储工具类,集成了 SharedPreferences 和
欢迎加入开源鸿蒙跨平台社区: https://openharmonycrossplatform.csdn.net
目录
1. lib/utils/
1.1. date_util.dart
这是一个日期格式化工具类。DateUtil 是一个工具类,提供静态方法来处理日期格式化操作。
使用场景
- 在需要显示标准日期格式的地方调用
- 统一整个应用的日期显示格式
- 避免在各个地方重复编写相同的格式化代码
这是一个非常基础和实用的工具类,帮助保持应用中日期显示的一致性。
1.2. storage_util.dart
这是一个本地存储工具类。StorageUtil 是一个综合性的本地存储工具类,集成了 SharedPreferences 和 Hive 两种存储方式,用于管理用户登录状态和个人信息。
存储技术
- SharedPreferences
- 用于存储简单的键值对数据(如token)
- 适合存储小量、简单的数据
- Hive
- 用于存储复杂的对象数据(如UserModel)
- 高性能的NoSQL本地数据库
- 需要注册适配器(UserModelAdapter)
使用场景
- 用户登录状态的持久化存储
- token的本地缓存管理
- 用户个人信息的本地存储
- 登录状态的检查和验证
这是一个典型的生产级存储工具类,提供了完整的用户会话管理功能。
2. lib/hive_registrar.g.dart
这是一个由Hive CE自动生成的适配器注册文件。hive_registrar.g.dart 是一个自动生成的文件,用于注册Hive数据库的适配器。
主要功能
- 适配器注册
提供了两个扩展方法用于注册适配器:
- HiveRegistrar.registerAdapters(): 用于主线程
- IsolatedHiveRegistrar.registerAdapters(): 用于隔离线程
- 注册的适配器
- 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. 横向卡片
更多推荐







所有评论(0)