我做了一个鸿蒙健康记录 App,帮慢性病人群管好血压血糖体重用药数据

鸿蒙第16篇——数据持久化 本文介绍的数据持久化是指鸿蒙应用的数据持久化存储。它是将内存中的数据通过文件或数据库的形式保存到设备存储中。鸿蒙支持多种数据存储方式, 包括用户首选项Preferences、 键值型数据库KV-Store和关系型数据库。 阅读详情

起因:家人每天量血压,数据全记在纸上

我爸高血压吃药好几年了,每天早上量完血压就往一个小本子上写。上次陪他去复诊,医生问「最近血压控制得怎么样」,他翻了半天本子,有几天没记、有几天字迹模糊,最后只能说「大部分时候还行」。医生的表情我至今记得。

这件事之后我就想做一个专门给慢性病人群用的健康记录工具。去年鸿蒙生态铺开之后,我决定基于 HarmonyOS 来做,一方面是看好国产生态的长期前景,另一方面鸿蒙的 ArkUI 声明式开发确实写 UI 很快,很适合这类数据录入密集的场景。

这个 App 叫「健康手账」,目前支持血压、血糖、体重、用药四大模块的日常追踪与趋势分析。

核心功能:记录只是起点,分级和趋势才是价值

做健康记录类产品,最怕做成一个「电子笔记本」——用户记了一堆数字但看不出什么。所以我花了比较多精力在自动分级和趋势分析上。

血压录入后,App 会自动按照国际标准帮用户分级——正常、正常高值、一级高血压、二级高血压,不用自己对照表格换算。血糖同理,空腹和餐后有不同的判定逻辑,记录时选好时间节点就行。

数据积累几天之后,趋势图会标出异常波动,比如连续三天清晨血压偏高,App 会给出一条提醒,方便用户决定是否需要找医生聊聊。这个逻辑实现上我用了 ArkTS 写了一套简单的规则引擎,大致思路是这样的:

// 血压异常波动检测(简化示意)
function checkMorningBPTrend(records: BPRecord[]): AlertInfo | null {
  const morningRecords = records.filter(r => r.period === 'morning')
    const recentThree = morningRecords.slice(-3)
      if (recentThree.length === 3 && recentThree.every(r => r.systolic > 135)) {
          return { level: 'warning', message: '连续三天清晨收缩压偏高,建议关注' }
            }
              return null
              }
              ```
不复杂,但对用户来说这种主动提醒比被动看数字有用得多。

## 用药管理:依从率统计是复诊利器

用药管理这块我做得比较细。添加药品后可以设定服药频次和提醒时间,到点推送通知。但我觉得真正有差异化的是依从率统计:它会按周、按月算出用户实际服药次数占应服次数的百分比,复诊时直接给医生看这个数据,比口头描述「偶尔忘吃」要清楚得多。

如果用户同时服用降压药和降糖药,还能通过标签关联来观察用药和指标变化之间的对应关系,比如换药后血糖曲线有没有明显下降。这个功能上线后收到好几个用户反馈说「终于能跟医生说清楚了」。

## 家庭多档案 + Apple Watch 联动

另一个我比较满意的设计是家庭多档案。很多人帮父母记血压,自己也在管体重,切换档案就能分开管理,不会混在一起。每个档案都能导出 PDF 报告,排版清晰,打印出来带去门诊很方便。

同时支持 Apple Watch 联动,手腕上就能快速记一笔,不用每次掏手机。这对老年用户特别友好,量完血压顺手就录了。

## 商业模式

价格方面,基础记录功能免费使用,高级功能(趋势洞察、PDF 导出、家庭档案等)通过内购解锁,具体订阅价格可在 App 内查看。我的想法是先让用户体验到记录本身的价值,再决定是否需要更深度的分析能力。

## 写在最后

做这个 App 的过程让我对 HarmonyOS 的开发体验有了更直观的认知。ArkUI 的声明式语法写表单和图表组件确实顺手,尤其是数据绑定这块,状态管理比我预期的要简洁。如果你也在做鸿蒙开发,或者对健康类 App 的产品设计感兴趣,欢迎交流。
【鸿蒙专题与实战】测试体系:单元测试、组件测试与 UI 测试 本文系统讲解鸿蒙开发中的三层测试实践:底层单元测试(用Hypium框架,优先覆盖纯函数、边界与异常)、中层ViewModel逻辑、顶层仅测3-5条关键UI路径。强调测试应“越往下写得越多”,因单元测试快且成本低,而UI测试慢易出错。通过实例说明断言拆分提升定位效率,结合覆盖率报告(hvigorwtest --coverage)发现盲区,核心是“用覆盖率找漏测,而非追求数字”。附五步落地清单:建测试文件、按优先级补用例、精简UI测试、生成报告、定位未覆盖行。下一篇将开启实战项目:从需求到上架全流程。 阅读详情

相关推荐

HarmonyOS 分布式深度:跨端迁移、数据对象与多设备协同

本文深入解析鸿蒙分布式能力实战,聚焦跨端迁移、协同与共享三大形态,详解权限配置、设备发现、onContinue状态管理及分布式数据对象、KV同步机制。强调“先分清场景”“前置条件必全”“数据需重验”,揭示迁移失败、同步失效等七大常见坑,指导开发者规避陷阱,实现真实可用的多设备协同。

信息安全领域优质创作者|操作系统领域专家 86

我做了一款鸿蒙健康记录App:血压血糖体重用药,帮全家管好慢性病数据

我爸有高血压,每天早上量完血压就随手写在一个小本子上,写了大半年,复诊的时候医生问"最近血压控制得怎么样",他翻了半天本子也说不出个所以然。后来我想,这件事应该用一个工具来解决——不只是记录,还要能帮用户"看懂"这些数字。记录积累到一定量之后,趋势图会标记出波动异常的时段,比如连续三天晨起收缩压偏高,App 会给出一条明确的预警提示。早上量完血压,打开 App 输入数值,它会自动按照国际标准把这次读数归到对应分级——正常、正常高值、一级高血压,一目了然。血糖同理,空腹和餐后分开判定,不用自己去翻对照表。

same4869的博客 276

51单片机也能玩转GC9A01彩屏?超详细移植指南与性能优化技巧

本文详细介绍了如何在51单片机上高效驱动GC9A01彩屏,包括硬件连接优化、SPI模拟驱动、内存管理策略及高级刷新技术。通过分段缓冲、颜色压缩和差异化刷新等技巧,显著提升显示性能,使51单片机也能流畅运行240x240分辨率的彩色TFT屏幕。

hp777的博客 189

〖物流终端实战 05〗纯血鸿蒙 ArkTS 高阶性能优化:长列表渲染、组件复用与内存泄漏排查

本文深度剖析鸿蒙ArkTS高阶性能优化,直击长列表卡顿与内存泄漏痛点。针对渲染,指出ForEach全量构建的缺陷,强调采用LazyForEach(V2推荐Repeat)配合增量通知及稳定业务Key;针对组件复用,明确@Reusable仅复用实例不重置状态,必须在aboutToReuse中手动清理UI状态;针对内存泄漏,总结全局监听未注销、定时器未清理及长生命周期对象持有页面引用三大元凶,并指导通过DevEco Profiler的Heap快照排查引用链。文章强调优化需遵循“先定位后改代码”原则,助力开发者打造

Eyf • 半字节的博客 641

Spring Boot日志可视化实战:5分钟搞定Promtail采集与Grafana查询(避坑指南)

本文详细介绍了如何通过Promtail和Grafana实现Spring Boot日志的可视化查询,提供从日志采集到高效查询的全流程实战指南,重点解决部署中的常见问题。内容包括Logback配置、Promtail日志采集、Grafana的LogQL查询技巧及生产环境优化建议,帮助开发者快速定位和解决日志问题。

weixin_42526015的博客 106

HP MSA 2050磁盘阵列配置步骤

一、盘阵与服务器直接连接 1.1 单控制器配置:一台服务器/ 一个 HBA/ 单路径 1.2 双控制器配置:两台服务器/ 每台服务器一个 HBA/ 双路径 二、通过交换机(一般光纤交换机) 2.1 双控制器配置:两台服务器/ 两台交换机 三、配置MSA2050 3.1在完成硬件安装后,可以访问控制器模块的基于 Web 的管理界面 SMU (存储 管理实用程序),以便监视和管理此存储系统。 首先...

jw5493的博客 1万+

HarmonyOS 7 端侧 AI 图像超分的工程化落地

用户抱怨网络差的时候图片传不上去,更严重的是,大量的私密照片上传到云端,引发了严重的隐私合规审查危机。痛定思痛后,我们决定把 AI 模型直接塞进手机里,用端侧的 NPU 来做推理,但这绝非易事。我们首先在服务端对模型进行了知识蒸馏,把参数砍掉了一大半,然后利用 MindSpore Lite 的转换工具,将模型转成了鸿蒙底层支持的。即便如此,模型依然有 20 多兆,我们最终选择了 FP16 量化,牺牲了极其微小的画质,换取了内存占用减半。推理过程极其消耗 CPU 和内存,稍微大一点的图,处理时间长达几秒。

2602_97267507的博客 158

基于ESP32的室内空气质量检测系统开发

随着环境污染问题的日益严重,室内空气质量的监测变得越来越重要。室内空气质量的好坏直接影响到人们的健康,尤其是对于在封闭空间长时间待着的人群。为此,基于ESP32的室内空气质量检测系统应运而生。ESP32作为一款集成了Wi-Fi和蓝牙的高性能微控制器,为嵌入式开发提供了良好的平台,适用于构建各种智能硬件设备。本博客将详细介绍如何基于ESP32开发一个室内空气质量检测系统。系统可以实时监测空气中的温度、湿度、二氧化碳浓度、甲醛浓度等指标,并通过Wi-Fi将数据传输到云端或移动设备,方便用户随时查看空气质量情况。

2201_76125393的博客 829

AppGallery 上架自检 SOP:签名、隐私对齐与包体校验实战【鸿蒙心迹】

上架被驳回多因签名、隐私声明与包体不一致。本文提炼“签名→隐私对齐→包体校验”自检SOP,配套一键脚本与权限三角校验代码,实现90%驳回前置拦截。通过CI强制release签名、代码/声明/功能三者权限对齐、包体完整性校验,确保提审一次过。实战清单可直接抄,让过审从运气变为流程。

wdracky的专栏 312

三、参考比较法之城市建成区提取——提取

在正式开始提取之前,还是要继续啰嗦一下,其实基于夜间灯光数据建成区提取,可以分为好几个层次,基于县一级、市一级、省一级,很多论文的做法都是以市一级为准,也就是统计好市一级城市的每一年的统计年鉴中的建成区面积作为备用。有人可能会问为什么不以县一级,由于县一级的统计数据一般存在缺失,很难形成一个长时间序列的数据,所以一般采取的是市一级。前文也进行建议,如果确实要基于县一级进行提取可以参考前面理论介绍那篇文章中的相关建议。那么当我们确定阈值后如何将城市建成区提取出来?

端木宛白的博客家园 5401

基于coze studio开源框架二次定制开发教程

CozeStudio是一站式AIAgent开发工具,支持大模型接入、智能体编排、工作流开发等功能。采用Golang+React技术栈,基于微服务架构设计。项目包含后端API、领域逻辑、前端应用等模块,支持自定义任务流节点开发。开发流程涵盖前后端节点定义、实现逻辑编写等步骤,提供完整的开发规范和参考文档。相比商业版,开源版本在功能上有所精简,但仍保留核心开发能力。

coding change your life 790

窗口销毁了监听还在,HarmonyOS 7 生命周期释放的归属分界

综上所述,onWindowStageWillDestroy 是窗口监听的最后安全出口,onWindowStageDestroy 只负责断开窗口引用,onDestroy 管 Ability 级资源——三者不是“程度不同的退出回调”,而是各自有明确的归属范围。窗口监听的所有者是 WindowStage,定时器的所有者是 UIAbility,播放器的所有者是页面或 Ability(取决于你在哪一层创建的),ApplicationContext 监听的所有者是 Ability 的 context。

qq_61905492的博客 199

天地图下载带审图号(审图号: GS(2024)0650号)的 “行政区划” 数据(含shp文件下载地址)

在科研投稿论文过程中,多数期刊杂志要求我们制作涉及国界的图件,必须使用自然资源部地图技术审查中心发布的标准地图底图。如地理学报、地理科学等期刊的投稿指南中写到:非标准底图本刊不予发表!(如图1.1所示)如果一定要用,凡涉国界图件(国内部分地区、全国、世界部分地区、全球)必须使用自然资源部标准地图服务系统标准地图底图(http://bzdt.ch.mnr.gov.cn/)(如图1.1所示)或国家测绘局地理信息局标准地图底图(如图1.2所示),所用底图边界要完全无修改(包括南海诸岛位置)。

JData_Engineer的博客 2302

鸿蒙平板能当电脑第二块屏幕吗?ToDesk、向日葵镜像/副屏实测

本文对比测试了ToDesk鸿蒙版4.8.3.0与向日葵鸿蒙版16.8.0在连接鸿蒙平板作为电脑副屏的表现。结果显示,ToDesk可直接实现镜像屏与扩展屏功能,支持参数调节,操作流畅;而向日葵副屏需开通会员才能使用。对于已有鸿蒙平板的用户,ToDesk能有效拓展工作空间,提升多任务效率,尤其适合临时办公、出差等场景,具备较高实用价值。

2501_91062530的博客 2326

matlab SAR图像的多视滤波

单视复数数据(Single Look Comple)是原始的最高分辨率数据,但是从单个像元散射的雷达回波信号的相干叠加,导致强度信息有很多噪声。SAR的多视处理是对SLC数据方位向和/或距离向做平均,得到的结果是多视后的强度数据。多视处理可以提高SAR图像的信噪比,有效抑制斑点噪声,但是会降低方位分辨率。

点云侠的博客 533

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

React Native for OpenHarmony 实战:react-native-file-logger 日志库鸿蒙化适配

本文记录了将 react-native-file-logger 适配至 OpenHarmony 的实战过程。基于鸿蒙 7.0 模拟器,通过 5 个 TurboModule 方法实现日志落盘、轮转、列举与删除,采用 fileIo 实现核心功能,支持按大小和跨天轮转,归档文件命名精确至毫秒。邮件发送功能因平台限制按能力边界处理,明确拒绝并提示用户手动导出。验证通过,日志文件结构清晰,内容完整,产出 HAP 示例与独立 HAR 库,中英双语文档齐全,为鸿蒙应用日志管理提供可靠方案。

m0_62930060的博客 250

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【鸿蒙心迹】深色模式适配全链路——从配置到自定义(HarmonyOS 7.x)

系统切深色模式,应用没跟着变;图片在深色模式下刺眼;自定义绘制颜色没适配——深色模式不是"换个背景色",是颜色/图片/材质/状态栏的全链路适配。本文用涟漪睡眠 App 适配深色模式为案例,给完整方案与 5 个踩坑。

腾讯云创作之星、华为云云享专家,深耕电商全栈高并发系统实战,分享可商用商城项目源码。 362

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

平行视界兼容模式与魔法变量配置避坑【鸿蒙心迹】

本文详解折叠屏兼容模式下“魔法变量”配置的五大易错点,强调maxWindowRatio与minWindowRatio必须满足max ≥ min、centerAlign需显式设为true、minCompitableVersion拼写为Compitable等关键细节。通过校验函数实现上线前批量机型测试,结合排查流程图快速定位分栏失效问题。虽兼容模式可零代码实现分栏,但存在状态共享风险,长期仍建议按规范开发原生平行视界分栏。

wdracky的专栏 1088

【共创稿事节】HarmonyOS 7.0 Marquee跑马灯:从接入到生产验证

HarmonyOS 7.0 Marquee跑马灯:从接入到生产验证:真实工程复盘,附代码与验证方法。

2401_84996024的博客 165

鸿蒙远程控制软件哪个好?华为远程PC、ToDesk、向日葵三款实测

综合来看,本次横测最终更推荐ToDesk:它在支持跨品牌连接的基础上,外接鼠标、全屏远控、移动设备协助和多屏功能覆盖更完整,更适合作为主力远控工具。

2401_85083137的博客 339

HarmonyOS 7 应用冷启动与包体积优化实录

我们在构建脚本里加入了一个自动转换任务,将除了极其复杂的透明图之外的所有静态资源,全部转换为 WebP 格式。为了这 5% 的用户,让 95% 的用户承担 30MB 的下载成本,显然不划算。目录,里面躺着无数历史遗留的高清切图,有些是早被废弃的活动图,有些是同一张图的多个尺寸备份。这一招,直接砍掉了将近 15MB 的死重。我们将短视频相关的所有代码、图片、甚至底层的播放器三方库,全部剥离到了独立的 Feature 模块(HSP)中。包变小了,启动速度自然会快一点,但真正的瓶颈在于冷启动时的初始化逻辑。

2502_91284977的博客 171

导航该收起来,还是留在左边?HarmonyOS 6 侧栏小练习

手机宽度下,分类一直占着左边,正文会被挤得很窄;宽窗口下,每次切分类都先打开一个抽屉,又显得多了一步。这次让同一个导航内容根据空间换一种出现方式:宽时常驻左侧,窄时放到覆盖式抽屉里。分类选中状态始终是一份,切完分类后收起抽屉,正文立即显示对应路线。判断这份导航是否合适,可以回到一次切路线的动作:找得到目录,选得中分类,关掉后正文仍是刚才那一条。宽窄变化只影响目录出现的位置和时机。后面扩展层级或接入真实路线时,也先保住这一条连贯的操作。

程序猿追的博客 251

HarmonyOS 7 新特性14:音频编创深潜——12节点格式契约、7链时延表与EQ不设参引发的系统库崩溃

本文深度剖析HarmonyOS 7音频编创系统中12类节点的格式契约与链式处理机制,揭示因未设置均衡器增益参数导致系统库崩溃的核心问题。通过7条链路实测,验证降噪节点引入约3秒延迟,音源分离首测成功(耗时14.6秒),并发现格式契约存在软约束(如降噪输出强制16k/1ch但系统静默容忍错误配置)。研究确认:节点格式由链尾决定,需动态查表配置;均衡器等节点必须调用参数接口初始化缓冲,否则触发不可捕获的SIGSEGV。

轻口味的专栏 231

从 JChemPaint 到 BondDraw:一个化学结构编辑器的鸿蒙 PC 上架实录

这次上架最大的收获是流程的确定性:AGC 五步——建应用、签名、传包、审核、上架——对任何形态的鸿蒙 PC 应用都一样,坑集中在签名分流和工程收尾两处。而纯 ArkTS 路线的回报也在这一刻兑现:几百 KB 的包体、零权限的权限表、一个可以低成本持续迭代的市场通道——“版本/升级”入口已经在 AGC 里候着,下一版只是 versionCode 加一的事。

全沾软贱开发攻城狮 1万+

脱离 IDE 的自动化构建 HarmonyOS 7 CI/CD 签名与打包流水线

每次发版前,都要在本地打包、重命名、上传到测试平台,不仅浪费时间,还极容易因为手滑拿错版本。配合上代码混淆(Obfuscation),即使被人反编译,也抓不到你的真实接口地址。这要求你在 GitLab 的 CI/CD 变量里,把密码加密存储,并在流水线脚本里通过环境变量注入。在流水线环境中,守护进程会导致文件句柄无法释放,下一次构建时直接报错文件被占用。没问题,但在流水线上跑,极其容易报 Node.js 版本不兼容或者找不到模块。拉取依赖时,如果配置了私有仓库,可能需要凭证。不要用 IDE,打开终端,用。

2602_97267507的博客 233

【共创稿事节】HarmonyOS 应用上架全流程中的隐私合规:权限最小化、数据本地化与 AppAnalyzer 体检

面向准备首次上架的鸿蒙开发者。本文以一个"仅 2 项权限、零联网"的本地应用为例,给出 module.json5 权限声明、DocumentViewPicker 免权限保存、systemShare 分享、relationalStore 参数化查询的真实代码,并附驳回原因自查表与打包验证输出。

腾讯云创作之星、华为云云享专家,深耕电商全栈高并发系统实战,分享可商用商城项目源码。 368
上一篇: 「我到底去过哪些地方」这个问题,我用HarmonyOS/iOS做了个App解决了
下一篇: 我用HarmonyOS的思路做了一个走路点亮地图的App——像素征途的技术复盘
SameX-4869
博客等级 码龄18年 3354粉丝 657原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值