1. 项目背景与核心价值
去年在给自家主子做年度体检时,兽医提醒我驱虫记录出现了两个月空档期。这让我意识到,即使是再细心的铲屎官,面对纸质记录本和手机相册里杂乱的照片,也很难做到精准管理猫咪的健康档案。于是我开始尝试用Flutter为OpenHarmony开发一款专属的猫咪健康管理应用,其中驱虫记录模块成为了最核心的功能需求。
选择Flutter+OpenHarmony这个技术组合,主要基于三点考量:首先,Flutter的跨平台特性让我可以快速验证产品原型;其次,OpenHarmony的分布式能力未来可以方便连接智能喂食器、摄像头等IoT设备;最重要的是,Dart语言的开发效率特别适合个人开发者快速迭代。这个驱虫记录模块虽然看似简单,但实际开发中涉及到日期计算、用药提醒、历史记录可视化等多个技术要点,下面就把我的实战经验完整分享给大家。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体技术栈选型
采用Flutter 3.13版本作为基础框架,搭配OpenHarmony 3.2的SDK。状态管理使用Riverpod替代传统的Provider,主要考虑到:
- 更简洁的依赖注入语法
- 更好的热重载支持
- 内置的异步状态处理
数据持久化方案经过对比后选择了Hive:
dart复制// 初始化Hive
await Hive.initFlutter();
Hive.registerAdapter(DeWormingRecordAdapter());
final box = await Hive.openBox<DeWormingRecord>('dewormingRecords');
相比SQLite,Hive在移动端的性能表现更优,特别是对于驱虫记录这种结构化但字段不多的数据。每条记录包含以下核心字段:
- 药品名称(字符串)
- 驱虫日期(DateTime)
- 下次提醒日期(DateTime)
- 药品类型(枚举:内驱/外驱/广谱)
- 备注信息(可选)
2.2 关键交互设计
驱虫记录的核心用户旅程包含三个主要场景:
- 新增记录:通过表单收集驱虫信息
- 查看历史:时间轴展示过往记录
- 提醒通知:在预设时间触发提醒
针对表单输入,特别优化了日期选择器的交互:
dart复制// 日期选择器实现
Future<v
