README.md

LifeBalance ⚖️

LifeBalance 是一款基于 OpenHarmony 开发的健康生活应用,用于展示如何使用 ArkTS 开发包含喝水、饮食、运动、健康咨询等多模块集成的复杂应用,帮助用户科学地管理每日健康生活。集成codelabs中多种技术,解决开发者缺乏综合类健康应用开发参考的问题。

✨ 主要功能

1. 📊 健康档案与智能评估 (Health Profile)

  • 身体指标监控:支持录入身高、体重、年龄、性别等基础信息,应用会自动计算 BMI (身体质量指数) 并通过动态仪表盘直观展示(偏瘦、正常、超重、肥胖)。
  • 智能目标生成
    • BMR 计算:基于 Mifflin-St Jeor 公式自动计算基础代谢率。
    • 动态推荐:根据身体状况自动生成每日推荐摄入热量、建议饮水量以及建议运动时长(例如:BMI较高者会自动增加建议运动时间)。

2. 🍎 饮食摄入追踪 (Diet Tracking)

  • 海量本地库:内置主食、肉蛋奶、蔬果、零食等七大类、数百种常见食物的卡路里及营养数据。
  • 精细化记录:支持按早餐、午餐、晚餐、加餐四个时段记录。
  • 营养可视化:录入食物时,自动展示蛋白质、脂肪、碳水的营养占比饼图。
  • 自定义输入:支持手动添加本地库中没有的自定义食物。

3. 💧 智能饮水管家 (Hydration Manager)

  • 快捷记录:提供 300ml、500ml 等常用容量的快捷加水按钮,也支持精确数值输入。
  • 智能提醒:系统根据当前时间段和已完成的饮水进度,智能判断是否需要弹窗提醒用户喝水(避免无效打扰)。
  • 进度可视化:通过环形进度条实时展示今日饮水达标率。

4. 🏃 运动与消耗记录 (Exercise & Fitness)

  • 多样化运动库:涵盖有氧、力量、瑜伽、球类等多种运动类型,自动换算不同运动的热量消耗(kcal/min)。
  • 双向抵扣逻辑:运动消耗的热量会纳入每日能量平衡计算,帮助用户了解“净摄入”情况。
  • 趋势分析:提供周运动时长与消耗热量的柱状图分析。

5. 📅 历史回溯与数据统计 (History & Stats)

  • 健康日历:通过日历视图查看过往每一天的详细健康数据(体重、饮食、饮水、运动)。
  • 多维图表
    • Canvas 绘图:使用 Canvas 自绘组件展示近一周的饮水、热量、运动及体重变化趋势。
    • 摘要卡片:自动计算周平均数据,帮助用户复盘一周表现。

6. 📖 健康百科与咨询 (Health Knowledge)

  • 精选文章:内置营养指南、运动科学、心理健康、急救常识等 8 大类健康咨询文章。
  • 搜索与收藏
    • 支持通过关键词搜索饮食、运动等相关知识。
    • 提供收藏功能,可将重要文章标记为“喜爱”。
  • 图文详情:支持渲染富文本/HTML格式的健康资讯详情页。

7. ⚙️ 全局设置 (Settings)

  • 全局字体调节:考虑到不同年龄段用户的使用习惯,专门开发了字体大小调节功能。
    • 多档位选择:提供“小、标准、大、超大”四种档位。
    • 全应用响应:设置后即刻生效,覆盖所有页面(包括列表、图表文字、弹窗等)。
  • 实时预览:在设置页面提供模拟聊天气泡,让用户在调整时能即时看到字体缩放效果。

🛠️ 技术栈

  • 操作系统: OpenHarmony
  • 开发语言: ArkTS (TypeScript)
  • UI 框架: ArkUI (声明式开发)
  • 数据存储:
    • RelationalStore (RDB): 存储饮食、运动、饮水及健康档案等结构化历史数据。
    • Preferences: 存储收藏列表、应用设置等轻量级数据。
    • PersistentStorage: 存储用户基础信息及全局配置。
  • 图表绘制: Canvas API (自定义绘制柱状图、折线图、饼图)。
  • 开发工具: DevEco Studio

📂 项目结构

LifeBalance/
├── ets/
│   ├── common/
│   │   └── database/      # 数据库层 (RdbManager, 各模块Dao)
│   ├── model/             # 数据模型 (DietModel, ExerciseModel, etc.)
│   ├── pages/             # 页面视图
│   │   ├── Index.ets      # 主入口 (Tabs容器)
│   │   ├── MainPage.ets   # 首页 (健康概览)
│   │   ├── DietPage.ets   # 饮食记录页
│   │   ├── WaterPage.ets  # 饮水记录页
│   │   ├── ExercisePage.ets # 运动记录页
│   │   ├── Calendar/      # 日历与统计详情
│   │   ├── HealthConsult/ # 健康咨询模块
│   │   └── Mine/          # 设置与个人中心
│   └── entryability/      # 应用生命周期管理
└── resources/             # 静态资源与国际化

🚀 快速开始

  1. 环境准备:请确保已安装最新版 DevEco Studio 及 OpenHarmony SDK。
  2. 克隆项目:下载项目代码/克隆git至本地。
  3. 同步依赖:打开项目,等待 Sync 过程完成。
  4. 运行:连接真机或模拟器,点击 Run 'entry'

📖 使用指南

  1. 完善档案:初次使用时,请在“基础信息”卡片中输入您的性别、身高、体重和年龄,系统将为您定制健康目标。
  2. 记录生活
    • 点击底部导航栏切换至“饮食”或“运动”,点击右下角 + 号添加记录。
    • 在“饮水”页点击快捷按钮补水。
  3. 查看趋势:在任意记录页面点击左上角或顶部的“查看周趋势”,或点击“查看历史与统计”查看详细报表。
  4. 调节字体:如需调整字号,请前往首页底部的“字体大小设置”。