news 2026/5/5 21:43:36

Flutter + dio + hive + 鸿蒙:省钱干饭人必备的外卖比价神器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flutter + dio + hive + 鸿蒙:省钱干饭人必备的外卖比价神器

基于 Flutter + Riverpod + Image Picker 的鸿蒙智能菜谱应用,解决"今天吃什么"的灵魂拷问!


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

项目简介

每天纠结"今天吃什么"?HarmonyCookBook 来帮你!拍照识别食材、智能推荐菜谱、语音朗读步骤,让做饭变得简单有趣。


核心功能一览

功能说明
拍照识别调用鸿蒙相机 + AI 识别食材
智能推荐根据冰箱存货推荐最佳菜谱
语音朗读鸿蒙 TTS 引擎朗读烹饪步骤
菜谱收藏收藏喜欢的菜谱方便查找
购物清单自动生成缺失食材清单
元服务卡片鸿蒙桌面卡片展示今日推荐

技术栈

技术用途
Flutter跨平台 UI 框架
Riverpod状态管理
image_picker图片选择(鸿蒙适配)
flutter_tts语音朗读
sqflite本地菜谱数据库
鸿蒙 API 21TTS、相机、AI 能力

项目结构

lib/ ├── models/ # 数据模型 │ └── recipe.dart # 菜谱模型 ├── services/ # 业务服务 │ ├── ingredient_recognition.dart # 食材识别 │ └── recipe_recommender.dart # 菜谱推荐引擎 ├── screens/ # 页面 │ └── recipe_detail.dart # 菜谱详情页 └── main.dart # 应用入口 ohos/ └── entry/src/main/ets/plugins/ └── TtsPlugin.ets # 鸿蒙TTS插件

快速开始

第一步:环境准备

  • Flutter SDK 3.0+
  • 鸿蒙 DevEco Studio
  • 鸿蒙 6.0+ 设备或模拟器

第二步:添加依赖

pubspec.yaml:

dependencies:riverpod:^2.4.0image_picker:^1.0.5flutter_tts:^3.8.5sqflite:^2.3.0cached_network_image:^3.3.0

第三步:运行项目

flutter pub get flutter run

核心模块说明

1. 菜谱模型 (Recipe)

存储菜谱信息:

  • 食材列表、烹饪步骤
  • 烹饪时长、难度等级
  • 标签分类(家常/快手/低卡等)
  • 食材匹配度计算

2. 食材识别服务

识别流程:

拍照 → 图片处理 → 鸿蒙AI识别 → 返回食材列表 ↓ 识别失败时降级到模拟数据

3. 菜谱推荐引擎

推荐策略:

  • 按食材匹配度排序
  • 按标签分类推荐
  • 快速菜谱筛选(15分钟内)
  • 随机推荐(不知道吃什么时)

4. 语音朗读 (TTS)

基于鸿蒙 TTS 引擎:

  • 中文语音合成
  • 可调节语速和音调
  • 分步骤朗读

使用流程

┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 拍照识别 │ ──▶ │ 智能推荐 │ ──▶ │ 选择菜谱 │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ 手动输入食材 ▼ ▼ ┌─────────────┐ ┌─────────────┐ │ 语音朗读 │ │ 食材管理 │ │ 跟随烹饪 │ └─────────────┘ └─────────────┘

示例菜谱数据

菜名时长难度标签
番茄炒蛋10分钟简单家常、快手、下饭
红烧肉60分钟中等硬菜、宴客
蒜蓉西兰花8分钟简单健康、低卡
酸辣土豆丝15分钟简单家常、快手

食材匹配算法

匹配度 = 已有食材 ∩ 菜谱所需食材 / 菜谱所需食材总数 示例: 冰箱有:番茄、鸡蛋、葱 番茄炒蛋需要:番茄、鸡蛋、盐、糖、葱 匹配度 = 3/5 = 60%

鸿蒙特性适配

特性说明
TTS 引擎鸿蒙原生语音合成
相机 API鸿蒙相机能力调用
AI 识别华为 ML Kit 食材识别
元服务卡片桌面小组件展示推荐
深色模式自适应系统主题

运行效果

  • 拍照识别- 准确率高,支持常见食材
  • 语音朗读- 双手不沾手机也能跟做
  • 智能推荐- 减少食材浪费,省钱又省心

常见问题

Q: 识别不准确怎么办?

A: 建议在光线充足的环境拍照,食材摆放清晰可见。

Q: 支持哪些语音?

A: 目前支持中文普通话,后续会添加方言支持。

Q: 菜谱数据从哪来?

A: 内置常用菜谱,后续支持用户上传和社区分享。


注意事项

  1. 权限申请:相机、麦克风、存储权限需用户授权
  2. 网络依赖:AI 识别需要网络,离线可使用本地菜谱
  3. TTS 初始化:首次使用需等待 TTS 引擎加载完成

扩展建议

  • 接入真实 AI 服务(百度/华为 ML Kit)
  • 添加营养分析功能
  • 支持菜谱分享到社交平台
  • 添加视频教程支持
  • 多人协作烹饪模式

许可证

MIT License


今天吃什么?让 HarmonyCookBook 帮你决定!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 21:31:27

利用 Taotoken 统一 API 为数据分析脚本注入智能摘要能力

利用 Taotoken 统一 API 为数据分析脚本注入智能摘要能力 1. 数据分析场景中的文本摘要需求 在数据分析工作中,处理大量文本报告是常见任务。分析师需要从冗长的市场报告、用户反馈或研究文档中提取关键信息,传统的手动摘要方式不仅耗时耗力&#xff0…

作者头像 李华
网站建设 2026/5/5 21:15:33

AI辅助驱动开发:让快马平台帮你智能生成ahflt.sys风格的安全监控驱动

AI辅助驱动开发:让快马平台帮你智能生成ahflt.sys风格的安全监控驱动 最近在研究Windows内核驱动开发,特别是类似ahflt.sys这样的安全过滤驱动。这类开发对系统知识要求很高,从回调注册到内存管理都需要格外小心。不过我发现InsCode(快马)平…

作者头像 李华
网站建设 2026/5/5 21:14:34

从Matlab验证到FPGA实现:CORDIC算法的精度、速度与资源权衡实战分析

从Matlab验证到FPGA实现:CORDIC算法的精度、速度与资源权衡实战分析 在数字信号处理领域,工程师们经常面临一个经典难题:如何在有限的硬件资源下实现高精度的数学运算。传统查找表方法虽然速度快,但精度和资源消耗往往难以兼顾&am…

作者头像 李华