一款专注于骑行数据分析的 Android 应用,提供 Strava 数据集成和本地文件导入分析功能。
- OAuth 授权与账号管理
- 活动数据自动同步(支持后台定时同步)
- 活动列表浏览与详情查看
- 流数据可视化(功率、心率、踏频、速度、海拔)
- eFTP 估算
- 支持 GPX/TCX 文件导入
- 功率分析:eFTP、CP/W′、NP/IF/TSS、VI/EF、功率区间、MMP、W′ 平衡
- 心率分析:心率区间分布、hrTSS
- 基础指标:距离、爬升、速度、踏频、VO₂max 估算
- 训练恢复建议
- 最低支持版本:Android 9 (API 28)
- 推荐版本:Android 14+
- 架构:单 Activity + 多 Fragment,MVVM 模式
- 核心库:Jetpack (Navigation, Room, Paging 3, WorkManager), Hilt, Retrofit, MPAndroidChart
最低支持 Android 9(API 28),推荐在 Android 14 及以上体验完整功能。
由于 Google 的 “Use secure browsers” 策略禁止在 WebView 中执行 Google 登录,本应用现在使用 Chrome Custom Tabs / 系统浏览器完成 Strava OAuth。默认回调改为应用自定义 Scheme cyclingplus://cyclingplus,避免出现 Error 403: disallowed_useragent。使用步骤如下:
- 在 Strava 开发者后台的 OAuth Redirect URI 中填写与应用一致的自定义回调,例如
cyclingplus://cyclingplus,并在同一页面的 Authorization Callback Domain 字段填入cyclingplus(两者的 scheme/host 必须完全一致)。 - (可选)若你有自己的 HTTPS 域名并希望继续通过网页回调,请在同一设置页中配置该 HTTPS 地址,并在本应用的设置对话框中同步填写
Web Redirect URI;同时请在该域名上完成 Android App Links 验证,使应用能够捕获 HTTPS 回调。 - 打开应用 →「账号」→「连接 Strava」,首次会弹出客户端配置对话框:
Client ID/Client Secret:来自 Strava 开发者后台。Web Redirect URI:如果没有自有域名可以留空(默认使用应用 Scheme 回调)。App Callback URI:保持默认cyclingplus://cyclingplus,除非你自定义了其他 Scheme/Host 并在 Strava 后台同步更新。
- 保存后应用会自动打开安全浏览器完成授权;成功后会自动跳回应用并显示「Strava 授权成功」。
如需重新尝试或改用系统浏览器,可在授权等待页点击「重新打开授权页面」或「使用系统浏览器」。