本仓库包含两个独立平台的应用,代码互不共享,可配合使用:
| 目录 | 平台 | 技术栈 |
|---|---|---|
android |
Android | Kotlin + Jetpack Compose |
windows |
Windows | .NET 10 + WinUI 3 |
- 🖥️ 全屏模式:沉浸式显示心率数据,让手机成为健康监护仪
- 🔵 蓝牙连接:扫描并连接支持心率广播服务的 BLE 设备
- ⭐ 设备管理:收藏常用设备,支持自动连接与断开重连
- ❤️ 心跳动画:根据心率跳动频率动态变化
- 📊 心率历史与图表:自动记录、历史列表、批量管理、图表分析、横屏查看
- 🎨 个性化设置:功能开关、悬浮窗样式自定义
- 📡 数据接口:HTTP 服务器、WebSocket 服务器、Webhook 推送
- 🖼️ 悬浮窗显示心率:在手机屏幕上显示心率,不受到应用内容的影响
- 📌 状态栏常驻心率:状态栏显示实时心率
- 🔔 心率预警:结合姿态检测,心率超限自动通知与震动
- 🧠 公平运行内存:适配国产厂商内存管理机制
- 🎨 颜色选择器:自绘 HSV 色轮
- ✨ 流畅转场动画 实时模糊缩放
- 🧊 液态玻璃效果 实现底部导航栏的液态玻璃效果
- 🔗 局域网传输 通过 WebSocket 服务器实现 PC 端与手机的通信
- 🎯 Material 3 动态取色
- 蓝牙心率监测:扫描并连接蓝牙心率设备,实时显示 bpm
- 悬浮窗:可拖拽的桌面悬浮爱心,支持缩放、颜色、心跳动画、bpm 单位显示、触摸穿透与全局热键
- 外观设置:缩放比例、图标大小、爱心颜色、显示项、心跳动画开关,支持一键重置
- 网络与传输
- HTTP 服务器:对外提供当前心率 JSON
- WebSocket 服务器:实时推送心率数据
- Webhook:心率变化触发自定义 HTTP 回调
- 局域网传输:mDNS 广播 + 配对,与手机端实时同步(含端口冲突检测)
- 多语言:简体中文 / English
- 版本与信息页:展示当前版本及项目仓库链接
![]() 实时心率监测主页 |
![]() 心率历史与图表分析 |
![]() 个性化设置与悬浮窗 |
![]() 版本与详细信息 |
克隆仓库:
git clone https://github.com/XiaochangXu/HeartRateMonitor-composeui.git- 打开项目:使用 Android Studio 打开
android目录 - 等待 Gradle 自动同步依赖
- 构建并运行:使用真机或模拟器(API ≥ 24)连接,点击工具栏中的
▶️ 运行按钮
环境要求:Windows 10/11、.NET 10 SDK、Windows App SDK 1.8 工作负载。
cd windows
dotnet build -c Debug运行:
bin\Debug\net10.0-windows10.0.19041.0\win-x64\HeartRate.exe若
dotnet不在 PATH,请使用完整路径调用dotnet.exe。也可以直接解压发布包,进入目录双击
HeartRate.exe即可启动。
- 首次权限授予:允许蓝牙权限与定位权限
- 连接心率设备:先在设备上开启心率广播,再点击扫描按钮,选择设备连接
- 查看历史记录:点击工具栏历史图标进入历史列表,单击查看图表
- 使用悬浮窗:主页工具栏开关,设置中自定义外观
- 状态栏常驻:设置 → 状态栏心率,开启后状态栏显示心率
- 心率预警:设置 → 心率预警,配置阈值与姿态校准
- 数据接口:设置 → 数据与服务,配置 HTTP/WebSocket/Webhook
- 解压压缩包后进入目录,双击
HeartRate.exe即可启动
- Kotlin + Jetpack Compose
- Kable(BLE)、Vico(图表)、Room(数据库)、MaterialKolor(动态取色)
- NanoHTTPD(HTTP/WebSocket 服务)、PermissionX、AndroidLiquidGlass
- .NET 10 + WinUI 3(Windows App SDK 1.8)
- CommunityToolkit.Mvvm(MVVM 源生成器)
- Direct2D / DirectComposition 渲染悬浮窗
- 自承载(self-contained)非打包部署
├── android/ # Android 端(Kotlin + Compose)
├── windows/ # Windows 端(C# + WinUI 3)
├── .github/workflows/ # 发布流水线:release-android.yml / release-windows.yml
├── LICENSE
└── README.md
核心依赖(Android 端)
- UI 框架:Jetpack Compose · Material 3
- 蓝牙:Kable
- 图表:Vico
- 数据库:Room
- 动态取色:MaterialKolor
- HTTP/WebSocket 服务:NanoHTTPD
- 权限:PermissionX
- 液态玻璃:AndroidLiquidGlass
- G2圆角:Capsule
- BLE 心率设备扫描与连接
- 心率历史记录与图表分析
- 悬浮窗 / 状态栏常驻心率
- HTTP / WebSocket / Webhook 数据接口
- 心率预警 + 姿态检测
- Material 3 动态取色
- 自绘 HSV 颜色选择器
- 通过 WebSocket 服务器实现 PC 端与手机的通信
MIT © 2026 XiaochangXu









