Android MPAndroidChart 实时曲线使用时间作为 X 轴

发布时间: 2024-01-18 15:37:37 作者: 大象笔记

MPAndroidChart 确实强大,但是文档太少,需要自己踩坑。

在基于 MPAndroidChart 绘制手环传输过来的实时数据时,发现用时间(小时:分钟)作为横轴坐标,网上找到的示例代码都不好使。

不支持时间戳

如果直接使用

System.currentTimeMillis()

生成基于毫秒的时间戳作为 x 坐标,会发现 MPAndroidChart 根本无法展示,我不确定问题出在哪里。有两个推测:

  1. 数值太大,组件不支持
  2. x 轴可能设置了刻度 (这个可能无关)

基于时间差解决

而使用简单一秒加 1 的计数器,却可以完美的展示实时需求,唯一的问题是,这种计数器的值无法转换为时间。

于是我想到了一个方案,就是在 app 启动时,记录当前的时间戳,然后在获取到蓝牙手环数据时,计算一个时间差,将这个时间差作为 x 轴坐标。

这样就完美解决了直接使用时间戳过大的问题。

当然还有一些小细节:

我是一名山东烟台的开发者,联系作者