微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CMPedometer 保存步骤时间戳

如何解决CMPedometer 保存步骤时间戳

我正在构建一个 ios 应用程序,我需要通过它保存用户执行的每个步骤的时间戳。我使用的是 CoreMotion CMpedometer,但是 startUpdates 方法输出用户从开始时间到结束时间执行的总步数。

我使用的解决方法是:在返回步骤的每个块中,我使用 startDate 和 endDate,并计算每步的秒数,然后使用每步的秒数以线性方式设置每一步的时间戳。然后,我将下一个 startDate 设置为等于前一个块的 endDate。但这并不接近精确,因为在没有活动时不会返回任何块,从而导致错误的结果。

无论如何我可以得到确切的步骤时间吗?或者至少是更精确的方式

谢谢!!

解决方法

这听起来像是经典的“栅栏问题”

假设我是一个非常缓慢的步行者。从早上9点到10点我做4步,然后在10点到11点之间什么也不做,然后从11点到12点我再做4步

从 9 点到 10 点:

9       10
|1|2|3|4|

具有瞬时时间戳的步骤意味着什么?

第 1 步是从上午 9 点到 9:15,或者您可以说 9:07.5 是腿垂直时?或者我们是否对脚第一次接触地板的确切时间感兴趣,或者当腿垂直时您在迈步的平均点?或者我们说第 1 步是从 9:00 到 9:15,或者更一般地说,我在 1 小时内完成了 4 个步骤?这样做还有一个好处,即这些时间段是计算属性,而不是存储的日期,这些日期不会在“时间间隔中的 n 个步骤”表示中添加任何信息。

你为什么要将下一个 startDate 设置为前一个块的 endDate - 人们并不总是在做步骤......我没有在上午 10 点从 11 点到 12 点开始我的第一步,我是在上午 11 点开始的,11点15分结束。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?