📖 官方使用说明书:如需了解关怀模式操作、离线语音自然口述规范、临床图表解读与数据备份:
👉 【点击直达下方完整说明书】 (页内秒级平滑定位,无跳转失败问题)
📄 或在 GitHub 查阅独立说明书文件 (USER_GUIDE.md)
GlucoDaily(糖舒心) 是一款基于 Kotlin + Jetpack Compose 构建的现代化 Android 血糖与胰岛素随访管理应用。
很多中老年及慢病患者在日常控糖中,常面临传统健康应用**“界面字号太小看不清”、“操作步骤繁琐”、“满屏弹窗广告”、“健康隐私上传云端泄露”等痛点。GlucoDaily 从零重新思考慢病管理交互,首创“标准专业模式 + 适老关怀模式”**无缝切换,并搭载 100% 本地端侧离线语音大模型,无需打字,说一句话即可自动分拣血糖、胰岛素、用药与运动,守护家人健康与隐私。
- 大字无障碍:全界面 24~32sp 强化对比大号字体,告别老花镜。
- 立体气泡触控:加厚圆角气泡输入框,提供精准点击手感与微步加减步进器(±0.1 mmol/L、±1 单位)。
- 自然时段防呆:智能锚定当前就餐时段,杜绝未来日期翻页越界。
- 贴心语音播报:内置高拟真 TTS 语音口播,录入完毕自动复述确认,银发群体零使用门槛。
- 卡片流仪表盘与时间轴:空腹、餐前、餐后、睡前全天七大生理时段一目了然。
- 多维动态走势图:横轴七大时段舒展清晰,结合 3.9~10.0 mmol/L 绿色健康达标区与用药气泡,直观呈现全天血糖起伏与给药关系。
- 正餐与多加餐录入:支持正餐与点击“+ 新增”添加多项加餐,时间轴卡片逐行展示与独立编辑。
- 餐后多频段血糖监测:预置餐后半小时、1h、2h,支持点击“+ 新增”自由拓展加测时机。
- 专业横屏表格与就诊报告:支持一键横屏全景数据透视(0.75x~2.5x 捏合缩放与全折满屏),支持一键导出临床级 Excel (.xlsx) 随访数据表发给医生。
- 零网络秒级响应:内置端侧高效语音模型,飞行模式或无网络环境下依然流畅使用。
- 长文本自然流淌:
“早起空腹血糖 6.2,打了 8 单位甘精胰岛素,吃了一片二甲双胍,饭后散步了半小时”
- 智能语义自动解构:全本地正则与语义引擎,一次性自动抽取出 时段、血糖数值、胰岛素规格/剂量、口服药名/剂量、运动饮食 等复合信息。
- 流式动画质感:动态呼吸波纹,超长语音输入时自动向上平滑隐退,打造沉浸灵动体验。
- 多条目单次录入:告别单条重复提交,单次弹窗即可完整录入血糖、注射、用药、饮食、运动全部指标。
- 智能药箱记忆:按磺脲类、双胍类、DPP-4、SGLT-2 等自动分类,自动沉淀常用用药历史与剂量,一键点选。
- 本地零外传:所有健康数据仅保存在设备本地 Room SQLite 数据库中,不设云端收集服务器,保护个人医疗隐私。
- 冷热数据一键备份:支持全量本地数据导出与导入迁移。
| 关怀主页 (大卡片直观排版) | 适老复合录入 (大字防截断) | 智能药箱 (品类/历史/时机) |
|---|---|---|
![]() |
![]() |
![]() |
| 语音助理 (流式动效 & 向上滑动隐退) | 智能分拣多条实体 (自动归类) |
|---|---|
![]() |
支持连续自然口述时段、血糖、胰岛素、用药与运动,本地毫秒级提取并一键保存 |
| 标准仪表盘 (卡片流看板) | 动态血糖趋势 (AGP 曲线) | 统计分析 (TIR / 变异度) |
|---|---|---|
![]() |
![]() |
![]() |
| 用餐正餐与多加餐拓展 | 餐后血糖多频段监测 | 横屏大字全景透视表格 |
|---|---|---|
![]() |
![]() |
![]() |
本章节为 GlucoDaily 的官方使用指南,涵盖从零安装、适老关怀模式日常使用、离线语音自然口述规范,到专业图表解读与数据备份全流程。
- 1. 快速入门与权限声明
- 2. 适老关怀模式使用指南
- 3. 端侧离线智能语音操作口诀
- 4. 标准专业模式与图表解读
- 5. 数据安全与离线备份迁移
- 6. 版本迭代与文档持续维护规范
- 7. 常见问题排查 (FAQ)
- 麦克风权限说明:首次启动请求录音权限,仅用于本地离线声学模型解码。本项目为 100% 离线应用(Local-First),音频数据在手机端侧芯片即时运算,绝不上传任何云端服务器,断网或飞行模式下功能完全一致。
- 双模式一键自由切换:
- 在关怀模式右上角点击带关怀手势图标的 模式切换开关,即可切换至标准专业看板;
- 在标准模式顶部工具栏点击“关怀模式”图标,即可返回大字适老界面。
- 主看板认知:
- 顶部显示今日日期,支持向左翻看既往历史,右侧禁止翻到未发生的未来日期;
- 居中展示今日最新血糖大卡片,以绿色(正常 3.9~10.0)、蓝色(低血糖 < 3.9)、橙色(高血糖 > 10.0)状态胶囊警示。
- 大字记一笔手把手流程:
- 步骤 1:点击右下角橙色 「记一笔」 悬浮大按钮;
- 步骤 2:顶部轻点切换 早餐 / 午餐 / 晚餐 / 睡前;
- 步骤 3:气泡输入框采用 32sp 强化居中大字,彻底杜绝文字截断;
- 步骤 4:点击两侧加大 「-」 / 「+」 触控块,血糖以 ±0.1 mmol/L 步进微调,胰岛素以 ±1 单位 步进;
- 步骤 5:点击底部绿色大按钮「保存记录」,即刻入库。
- 常用药与胰岛素快速点选:
- 顶部按双胍类、磺脲类、DPP-4、SGLT-2 等自动分类筛选;
- 药名输入框右侧点击下拉箭头,即可唤出高频历史用药,轻点自动填入,无需长辈打字;
- 底部提供 0.25片 / 0.5片 / 1片 / 2片 常用剂量颗粒;
- “睡前”时段自动隐藏餐前/餐后就餐时机,科学防呆。
- TTS 语音复述口播确认:
- 保存记录后,手机自动语音播报核对(如:“已保存早餐前记录:血糖 6.2,注射甘精胰岛素 8 单位”),长辈不戴眼镜听声即可核对确认。
- 横屏大字全景表格与一键导出随访表格:
- 点击主页的放大横屏按钮,或横置手机,进入全览大字排列表;点击右上角 「导出表格」 可直接生成带专业样式的 Excel (
.xlsx) 随访表格并分享给医生:
- 点击主页的放大横屏按钮,或横置手机,进入全览大字排列表;点击右上角 「导出表格」 可直接生成带专业样式的 Excel (
- 唤起语音录入:点击主界面底部绿色 「🎙️ 语音记一笔」 麦克风按钮,待声波律动出现并提示“正在倾听中...”即可说话;
- 自然口述记录:直接说出要记录的内容(如:“早上空腹血糖 6.2,打了 8 单位甘精胰岛素,吃了一片二甲双胍”),长句时文字自动平滑上滚,始终聚焦最新语句;
- 确认卡片信息无误并填入保存:口述完毕点击 「■ 停止」,系统自动解析并卡片化呈现提取的时段、数值与药品,确认无误后点击 「保存记录」 完成录入。
- 全天七大生理时段卡片流:空腹、早餐后、午餐前、午餐后、晚餐前、晚餐后、睡前;每餐卡片独立逐行呈现正餐饮食与多加餐明细。
- 走势图与达标区间:横轴七大时段两端保持安全间距,文字清晰不遮挡;浅绿背景标示 3.9 ~ 10.0 mmol/L 健康达标靶区,时段上方悬浮用药/胰岛素剂量蓝色气泡。
- 正餐与多加餐录入:用餐支持
[正餐]与点击[+ 新增]依次添加的[加餐1]、[加餐2]等标签;主看板卡片逐行展示正餐与各项加餐,长按可独立编辑或删除。 - 餐后多频段血糖监测:预置
[餐后半小时]、[餐后1h]、[餐后2h],支持点击[+ 新增]增加自由复测点。 - TIR (Time in Range) 目标范围内时间比与多日聚合:绿色达标区间(3.9 ~ 10.0 mmol/L),《中国 2 型糖尿病防治指南》建议维持 TIR ≥ 70%;变异系数 (CV < 33%) 提示血糖平稳度。
- 记录修改与长按防误触删除:点击记录项铅笔图标可重新编辑;长按弹出高对比度防误触二次确认框,安全稳妥。
- Local-First 架构:无手机号注册,无账号密码,所有健康记录只保存在本机系统沙盒内的加密 Room SQLite 数据库;
- 换机数据迁移:进入设置支持全量数据导出为标准备份文件,新手机安装后导入即可无缝恢复所有历史明细。
- 代码与文档强同步:凡涉及 Bug 修复、交互微调或新功能上线,必须在提交代码的同时,同步刷新本说明书与
USER_GUIDE.md中对应的章节描述; - 真机全真重新截屏:严禁使用过时设计稿或历史截图,所有 UI 变动模块必须在真实 Android 测试设备上运行最新编译的 APK 截取无遮挡(无 Toast、无通知)高清截图替换至
docs/images/; - 长辈视角防呆说明:对新增功能必须详述适用场景、操作步骤与防呆措施,确保老年长辈与家属都能轻松上手。
- Q1: 语音识别提示“未听到声音”?
请检查系统设置是否允许应用访问麦克风;端侧模型首次初始化约需 1 秒,看到声波律动后再开始口述即可。 - Q2: 误记了数值或时段如何修改或删除?
直接点击卡片可重新编辑并修正时段;长按任意记录条目,在弹出的防误触确认框中选择删除。 - Q3: 换手机后原手机的数据还在吗?
由于本应用不设云端服务器,换机前请在设置中导出本地备份文件发送到新手机并导入即可。
本项目严格遵循 Google 官方倡导的 Modern Android Architecture (MVVM + Clean Architecture) 与单向数据流 (UDF) 范式:
graph TD
UI[Jetpack Compose UI Layer] -->|User Actions / Events| VM[ViewModel / StateFlow]
VM -->|Observes UiState| UI
VM -->|Invokes UseCases / Repo| REPO[Data Repository Layer]
REPO -->|Query / Insert| ROOM[(Room SQLite Database)]
VM -->|Audio Stream| ASR[SenseVoice Offline AI Engine]
ASR -->|Decoded Text| PARSER[VoiceRecordParser - NLP Extraction]
PARSER -->|Parsed Entities| VM
- 编程语言:Kotlin 2.0+
- UI 界面:Jetpack Compose + Material 3 + Accompanist Flow Layout
- 架构范式:MVVM + Unidirectional Data Flow (StateFlow / SharedFlow)
- 本地数据库:Jetpack Room 2.6+ (SQLite)
- 端侧语音大模型:SenseVoice-Small ONNX Runtime / Sherpa-ONNX 离线推理
- AI 协同工程:Google Gemini
- 异步处理:Kotlin Coroutines + Flow
- 触感反馈与动效:HapticFeedback + Jetpack Compose Animation
app/src/main/java/com/example/
├── MainActivity.kt // 入口 Activity,双模切换与沉浸式状态栏配置
├── data/ // 数据持久化与端侧离线语音
│ ├── AppDatabase.kt // Room 数据库配置与迁移
│ ├── InsulinDao.kt // 核心 CRUD 数据访问对象
│ ├── InsulinRecord.kt // 实体模型 (时段/血糖/胰岛素/用药/饮食/运动)
│ ├── MedicationData.kt // 常用降糖药字典与分类分类器
│ ├── VoiceRecordParser.kt // 正则与规则驱动的自然语言实体提取引擎
│ ├── VoiceRecognitionManager.kt // 离线语音录制与分发调度
│ └── SystemTtsManager.kt // 关怀模式语音确认口播引擎
├── ui/ // 界面表现层
│ ├── InsulinTrackerScreen.kt // 主界面容器与顶层状态脚手架
│ ├── InsulinTrackerViewModel.kt // 全局 ViewModel,业务逻辑与响应式状态
│ ├── CareFontSize.kt // 关怀模式大字号系统定义
│ ├── components/
│ │ ├── CareHomeView.kt // 适老关怀模式主页
│ │ ├── CareRecordDialog.kt // 适老大字号复合录入弹窗
│ │ ├── SiriVoiceOverlay.kt // 离线语音流式气泡与上滑隐退交互组件
│ │ ├── RecordTable.kt // 标准模式多时段对比表格
│ │ ├── TrendChart.kt // 血糖曲线与 AGP 趋势图表
│ │ ├── StatsView.kt // 多日聚合统计视图
│ │ ├── FrostedGlassDialog.kt // 高质感毛玻璃蒙层弹窗
│ │ └── AppleDesignEffects.kt // 物理弹性与平滑过渡特效
│ └── theme/ // Material 3 主题系统
- Android Studio:Ladybug (2024.2.1+) 或更新版本
- JDK:OpenJDK 17 / Oracle JDK 17
- Android SDK:API 35 (Android 15) Target SDK,最低兼容 API 26 (Android 8.0)
- NDK:26.1+ (用于 ONNX Runtime 离线推理加速)
💡 无需配置开发环境与模型:
直接前往 👉 GitHub Releases 页面 下载最新版安装包:
GlucoDaily_TangShuXin_v1.0.apk
安装包已全量打包内置了 SenseVoice 离线大模型与语音引擎,直接安装到手机即可体验全部离线功能!
本项目采用 Git LFS (Large File Storage) 进行了全量端到端托管,端侧离线语音模型(model.int8.onnx,约 228MB)已完全包含在仓库中,实现 100% 开箱即用!
在克隆仓库时,Git LFS 会自动下载离线模型文件;若本地未安装 LFS,也可随时手动拉取:
# 确保已安装 git-lfs(绝大多数 Git 安装包已默认内置)
git lfs install
# 克隆仓库(模型将自动随代码一并拉取到位)
git clone https://github.com/tamako33/GlucoDaily.git
cd GlucoDaily
# 如果之前克隆时未下载大文件,可手动执行:
git lfs pull拉取完成后,模型文件已自动就绪于如下路径:
app/src/main/assets/sense-voice/
├── tokens.txt ✅ (词表文件,约 316KB)
└── model.int8.onnx ✅ (SenseVoice-Small INT8 量化模型,约 228MB)
💡 备用镜像源:若因网络原因需要独立下载模型,也可从以下官方源获取同款模型放入上述目录:
- 国内极速源: ModelScope 阿里官方模型主页
- 海外官方源: Hugging Face Sherpa-ONNX 仓库
-
克隆代码仓库
git clone https://github.com/tamako33/GlucoDaily.git cd GlucoDaily -
本地编译 Debug APK
- Linux / macOS:
./gradlew assembleDebug
- Windows (PowerShell):
.\gradlew.bat assembleDebug
- Linux / macOS:
-
安装至真机或模拟器
adb install -r app/build/outputs/apk/debug/app-debug.apk
- 隐私承诺:本项目作为离线优先(Local-First)工具,绝不包含任何第三方跟踪 SDK、广告插件或数据收集服务。麦克风权限仅在用户主动点击语音记录时请求,且所有音频数据直接送入设备芯片本地解码,计算完成后即刻销毁,永不上传。
- 医疗免责声明:本项目记录与统计功能仅作为日常自我健康管理参考,不能替代专业医生的诊断、处方及治疗方案。在调整胰岛素用量或更换降糖药物前,请务必咨询专业内分泌科医生。
本项目采用 GNU General Public License v3.0 (GPLv3) 开源协议。
- SenseVoice-Small & FunASR:阿里巴巴通义实验室开源的高性能语音识别大模型
- Sherpa-ONNX:k2-fsa 团队提供的新一代端侧嵌入式语音识别与语音合成推理引擎
- Google Jetpack Compose & Material 3:现代化声明式 Android 原生 UI 体系













