惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
MyScale Blog
MyScale Blog
Y
Y Combinator Blog
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
V
Vulnerabilities – Threatpost
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
N
News and Events Feed by Topic
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
博客园 - 叶小钗
B
Blog
Vercel News
Vercel News
T
Tenable Blog
T
The Exploit Database - CXSecurity.com
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
F
Fortinet All Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Microsoft Security Blog
Microsoft Security Blog
S
Securelist
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Palo Alto Networks Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
Cyberwarzone
Cyberwarzone
Engineering at Meta
Engineering at Meta
Martin Fowler
Martin Fowler
G
GRAHAM CLULEY
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
A
Arctic Wolf
C
CERT Recently Published Vulnerability Notes
L
LangChain Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Check Point Blog
A
About on SuperTechFans
W
WeLiveSecurity
The GitHub Blog
The GitHub Blog

跑步

[分享创造] 我用 Uber H3 做了一个跑步版「地图涂色」:跑过一格,点亮一城 - V2EX 618 了,求一个跑步用的非入耳式耳机 最近开始减肥,每天 9-10 的配速走路 6 公里左右,有没有适合大体重的跑鞋推荐? 恭喜 萨维 在 2026 伦敦马拉松 全马破二,然而这只是他的第 4 场全马比赛 1:59:30 - V2EX 想要全马破三,老司机关于跑步的思考,我看了很多遍 - V2EX 兄弟们我要去跑波士顿马拉松了 - V2EX 香港马拉松退赛后,在柳州把自己跑了回来 - V2EX 请教跑马大佬,足底筋膜炎怎样根治? - V2EX 每天带 macbook 上班,想上班跑步去, 13 寸的有什么背包可以装下并且不影响跑步 - V2EX 运动耳机有没有推荐骑行跑步徒步快走用 - V2EX 大家的光感运动手表心率显示准吗? - V2EX 震惊,髂胫束综合征居然这么痛! - V2EX 跑步一年,全马破四了 - V2EX 为什么喜欢跑马拉松? - V2EX 2026 香港马拉松中签啦 跑鞋要不要 800 英里就退役?我把一双鞋穿到 2000 英里了 - V2EX 秋天到了跑步者的好日子来了 - V2EX 报名了波士顿马拉松 - V2EX 赤脚参赛半马 成绩 1:29:30 - V2EX 有没有人玩过通过两个手指的节奏来控制跑步的小游戏吗 - V2EX 有没有适合跑步,平时走动拍摄 vblog 的摄像头 - V2EX 想趁着这波 618 买一块运动手表跑步用,但是又担心是翻新机 - V2EX 跑步的过程中跑不动了,开始慢走, apple watch 有必要切换别的运动模式吗 跑步机真是一个对于有跑步需求但是有鼻炎 debuff 跑者的好装备 跑步心率高怎么办? - V2EX 跑步鞋求推荐 - V2EX 求推荐个跑鞋? - V2EX 足外翻有没有推荐的跑鞋啊? 2024 年跑步总结 首马破三 里程 3460 公里 - V2EX 跑步机求推荐 - V2EX 为什么一跑步🏃‍♂️就会感觉头晕 - V2EX 2024 跑步收官 - V2EX 首马 3:24:47,下个目标只能是 sub3!分享一下俺今年跑步历程 - V2EX 尼龙板跑鞋存在的意义? - V2EX 跑完宛山湖马拉松,耗时 5 小时 40 分钟,将将完成 - V2EX 跑步、健身的话,搞个佳明 255 是不是就够了?还是上同价格的华为 GT4/GT5? - V2EX 当你在跑步的时候你在想些什么? - V2EX 杭马破四随记 - V2EX 想问下各位大佬都在哪里看的马拉松信息? - V2EX 徒步跑步爱好者来推荐下双十一好物吧 - V2EX 有没有操场跑道上用的跑步配速设施 - V2EX 有什么室内跑步机推荐 - V2EX 想问下跑友有没有推荐的跑鞋? - V2EX 北京搬家出一个跑步机捡漏价 - V2EX 没有设备的情况下如何简单粗略地判断自己跑步时候的心率区间? - V2EX 你们跑步时会带耳机吗?听些什么呢? - V2EX 请教一下跑步的大佬们如何降低心率 - V2EX 新手求推荐一双跑鞋,日常锻炼用 - V2EX 有没有老哥,对我的跑步姿势提一些建议? 目前 32,每天都是白天困,没精神,一下班到家就是躺着看着这个看看那个,就一点多了,然后周而复始,干啥都提不起精神,怎么改变? 想跑步,目前仅限于“想” 首马破三记
把自己 8 年前的开源项目用 AI 重构了,开源 Android 跑步 APP - V2EX
igofreely · 2026-04-15 · via 跑步

https://github.com/igofreely/runner

HeartRunner 一款基于 BLE (低功耗蓝牙)的实时心率监测 Android 应用,专为跑步运动设计。连接蓝牙心率带,实时追踪心率数据,并通过语音播报提醒你保持在目标心率区间内。支持无心率带独立记录 GPS 轨迹。

功能特性 BLE 心率设备连接 — 自动扫描并连接符合标准蓝牙心率协议( UUID 180D )的心率带 实时心率监测 — 实时显示当前心率,支持 UINT8/UINT16 数据格式 心率区间管理 — 可配置最大心率与目标区间百分比,心率超出区间时自动提醒 语音播报 — 基于 TTS 的中文语音提醒,包括定时心率播报与区间越界警告 运动播报 — 可配置按距离和/或时间间隔播报速度、里程、时间、心率、平均心率、平均速度,与心率区间告警独立且告警优先级更高 心率趋势图 — Canvas 绘制的折线图,展示最近 60 次心率数据走势 高德地图 — 使用 osmdroid + 高德瓦片源,中文地图标注,实时显示位置和运动轨迹 地图全屏 — 点击全屏按钮可展开地图至全屏查看轨迹详情 WGS-84/GCJ-02 坐标转换 — GPS 坐标自动转换为 GCJ-02 ,确保在高德地图上精确显示 独立运动记录 — 无需连接心率带即可开始记录 GPS 轨迹、速度、里程等数据 数据导出 — 支持导出 GPX 和 TCX 格式的运动文件,可分享到第三方平台 前台服务 — 录制时自动启动前台服务,息屏后保持 GPS 和蓝牙连接 Material Design 3 — 支持动态取色( Android 12+)和深色模式 技术栈 类别 技术 语言 Kotlin UI Jetpack Compose + Material Design 3 架构 MVVM ( ViewModel + StateFlow ) 地图 osmdroid + 高德瓦片源 蓝牙 Android BLE API 异步 Kotlin Coroutines & Flow 语音 Android TextToSpeech 权限 Accompanist Permissions 最低版本 Android 8.0 ( API 26 ) 目标版本 Android 16 ( API 36 ) 项目结构 com.heartrunner.app ├── HeartRunnerApp.kt # Application 初始化,创建通知渠道 ├── ble/ │ └── BleHeartRateManager.kt # BLE 扫描、连接、心率数据解析 ├── data/ │ └── WorkoutData.kt # 运动数据模型(轨迹点) ├── export/ │ └── WorkoutExporter.kt # GPX / TCX 格式导出 ├── location/ │ ├── CoordinateConverter.kt # WGS-84 ↔ GCJ-02 坐标转换 │ └── LocationTracker.kt # GPS + 网络定位与轨迹跟踪 ├── service/ │ └── HeartRateService.kt # 前台服务,息屏保活 ├── tts/ │ ├── BroadcastConfig.kt # 运动播报配置(距离/时间触发、播报内容) │ ├── HeartRateAlertLogic.kt # 心率区间判断与警报逻辑 │ └── TtsAlertManager.kt # TTS 语音播报管理 └── ui/ ├── MainActivity.kt # Activity 入口 ├── MainViewModel.kt # 状态管理与业务编排 ├── HeartRunnerScreen.kt # Compose UI 界面(含高德地图) └── theme/ └── Theme.kt # Material 3 主题配置 构建与运行 环境要求 Android Studio Ladybug 或更高版本 JDK 21 Android SDK 36 构建 ./gradlew assembleDebug 安装到设备 ./gradlew installDebug 运行时权限 应用需要以下权限:

BLUETOOTH_SCAN / BLUETOOTH_CONNECT ( Android 12+) ACCESS_FINE_LOCATION (用于 BLE 扫描和 GPS 轨迹记录) INTERNET / ACCESS_NETWORK_STATE (加载高德地图瓦片) POST_NOTIFICATIONS ( Android 13+,前台服务通知) 使用方式 打开应用,授予蓝牙和位置权限 点击「开始记录」直接开始 GPS 轨迹记录(无需心率带) 如需心率监测,点击「扫描心率带」连接蓝牙心率设备 地图实时显示当前位置和运动轨迹,点击全屏按钮可放大查看 点击设置图标,配置最大心率和目标区间 开启语音播报,应用将自动提醒心率状态 许可证 MIT License