基于鸿蒙的健康助手App 的设计
罗良夫
武汉晴川学院 430204
1. 引言
健康助手 App 是一款基于 HarmonyOS 开发的健康管理类应用程序,本应用充分利用了鸿蒙系统的分布式能力、一次开发,多端部署和服务卡片等特性,为用户提供智能化、场景化的生活服务体验。本应用采用了模块式设计,支持多设备部署与协同工作,打造了一套全方位的健康管理解决方案。
本应用支持手机、平板、智能手表、智慧屏等多设备部署的全场景覆盖,能够实现设备间数据与服务自由流转,实现多场景化的体验,同时基于用户习惯智能推荐合适的功能与个性化服务。本应用遵循鸿蒙安全框架,能够较好的保障用户数据与隐私安全。
2. 技术介绍
2.1 ArkTS
ArkTS 是鸿蒙应用的默认开发语言,在 TypeScript 的语法基础上做了扩展,保持了 TypeScript 语法的基本风格。通过规范定义,从而强化了开发期的静态检查和分析,提升了程序执行的稳定性和性能。ArkTS 与 JavaScript 与TypeScript 的关系
2.2 Form Kit
Form Kit 是鸿蒙应用开发中的卡片式开发框架,它将应用中常用信息抽取出来,形成一张或多张卡片,它提供了一种在桌面、锁屏等状态下显示应用信息的开发框架和API,能在有限的空间内展示业务能力的关键信息点。
卡片类型分为两种:
·静态卡片:卡片在渲染完成后形成一张静态图片,不包含动画效果,资源的占用较少,一般用于展示固定信息的场景。
·动态卡片:卡片可以实时进行刷新,卡片中可以包含动画效果,可以响应事件操作。适用于音乐控制或待办提醒等场景。
2.3 Router
Router 是鸿蒙 ArkTS 中的路由,它用于实现页面跳转和页面导航的功能,可以用来管理多个页面之间的切换、参数传递和状态维护,页面在跳转前需要配置路由表文件。Router 中的页面保存在栈中,新页面入栈时保存在顶层。
Router 提供了页面跳转方面的常见API,具体内容如下:
·常规跳转:将新页面压入栈顶,通过pushUrl 方法实现,语法格式如下:router.pushUrl({
url:‘pages/*, // 新页面的 Urlparams: { p1: v1, p2: v2,…}, // 参数mode: router.RouterMode.
// Standard( 默认方式 ) 或 Single})
·替换跳转:用新页面覆盖当前页面,可以避免栈溢出,通过replaceUrl 方法实现,语法格式如下:
router.replaceUrl({ url:‘pages/*}) // 新页面的 Url
·返回跳转:显示上个页面或指定页面的内容,通过back 返回上一页面,通过popTo 返回指定页面,语法格式如下:
router.back; // 返回上个页面的内容router.popTo({ url:‘pages/*’}); // 返回指定页面的内容
·参数获取:通过 pushUrl 进行页面跳转时可以携带参数,使用getParams 方法可以获取参数值,getParams 方法的返回值是 Record< 属性名 , 属性值 > 的对象,其中属性名为 string 类型,属性值为 any 类型,语法格式如下:
router.getParams
3.App 设计
本应用利用鸿蒙的分布式数据管理功能,实现了多设备间健康数据的同步操作。系统采用卡片形式将关键健康信息展示于桌面中。本应用采用自适应布局方式,使应用界面在不同类型的设备都能具有良好的显示效果。
3.1 应用功能划分
本应用从功能角度共分为健康数据记录模块、运动追踪模块、作息管理模块、健康报告模块4 部分,具体功能介绍如下:
3.1.1 健康数据记录模块
健康数据记录模块中主要实现对健康数据的读、写及查看功能,具体功能如下:
·体重、血压、心率等基础健康数据记录;
·健康数据的可视化图表的绘制,展示健康趋势;
·健康数据的手动输入和智能设备自动同步。
3.1.2 运动追踪模块
运动追踪模块主要包括运动数据的读写功能,具体功能如下:
·步行、跑步等基础运动数据的记录;
·运动目标值的设定,完成情况的记录;
·运动数据的统计与分析功能。
3.1.3 作息管理模块
作息管理模块主要是对作息、睡眠数据的管理,具体功能如下:
·睡眠数据的记录、分析;
·作息计划的设定、计划的提醒;
·睡眠质量的评估。
3.1.4 健康报告模块
健康报告模块主要生成健康报告与数据的持久化操作,具体功能如下:
·以日/ 周/ 月为单位生成健康报告;
·根据记录的数据给出健康状况的评估,并给出维持/ 改善健康状态的建议;
·健康报告以文件格式导出、分享到其它应用。
3.2 数据存储方案
3.2.1 本地存储
由于健康数据具有结构化的特征,适合用关系型存储。本应用需要支持复杂查询,便于按时间范围、数据类型等维度统计分析,基于以上原因本次设计采用鸿蒙的关系型数据库 (RdbStore) 存储数据。数据操作流程:
1. 包括初始化数据库与表;
2. 将用户输入封装成数据模型并写入数据库;
3. 根据业务条件查询数据,将查询结果转换成指定数据格式。
3.2.2 分布式存储
用户可能在手机、平板、手表等设备使用本应用,为了能在多种设备上都能访问到一致的健康数据,本次设计采用 DistributedDataKit 框架实现多设备上的数据同步。DistributedDataKit 框架通过键值对保存数据,适合于保存健康数据。框架中内置了数据加密与权限控制功能,保障了健康数据的隐私安全。
本次分布式存储采用“中心 + 边缘”混合同步模式,具体设计如下:
·以手机等用户常用设备作为中心存储,其中保存了完整的健康数据;
·其它智能手表、平板等边缘设备中仅保存增量数据,以及最近的访问记录;
·所有的设备在线时自动同步数据,离线时进行本地缓存,联网值后自动补齐所缺数据。
4. 总结
本文采用 HarmonyOS 的 ArkUI 框架设计并实现了一个鸿蒙健康助手应用,目的是为用户提供一体化的健康管理服务。应用以 Index.ets、StepDetails.ets 为核心交互页面,通过 HealthDataModel.ts 实现本地关系型数据库存储,应用支持多设备数据同步,应用实现了健康数据记录、分析与跨设备协同等功能,展了现鸿蒙系统在智能生活应用场景的优势。
参考文献:
[1] 华为开发者联盟 . ArkTS 开发入门 [EB/OL]. 2025-03-31[2025-08-29].
[2] 杨春鹏 . 纯血鸿蒙 HarmonyOS NEXT 原生开发之旅 [M]. 北京 : 清华大学出版社 , 2025.
[3]ArkTS 开发指南优化上新啦! [EB/OL]. 2024-11-15[2025-08-29].