jiahongfei / TodayStepCounter

Android计步模块(类似微信运动,支付宝计步,今日步数),记录当天从0点到23:59的步数
1.18k stars 241 forks source link

关于往数据库中插数据 #10

Open w4mxl opened 6 years ago

w4mxl commented 6 years ago

你好,我看了项目代码,你往数据库插一条步数记录的判断条件是传感器回调50次或者是运动停止10s后。然后 TodayStepData 表中 step 字段表示的是插记录的那个时刻的步数。

现在是这样,我想建一张这样的表(每条记录代表一次运动过程,很像iOS健康里的运动记录),字段有startTime、endTime、step(从开始到结束的步数)等,基于这样的考虑,你可以给点实现建议吗?谢谢。

jiahongfei commented 6 years ago
  1. 这样做首先你得保证进程能一直在后台运行,就目前来看华为P9以上系列很难做到(加入进程守护没有试个人觉得是流氓软件)
  2. 如果解决了后台运行问题,记录运动步数就很容易了计算时间然后插入数据库,运动停止插入
w4mxl commented 6 years ago

@jiahongfei 嗯,谢谢回复。1的后台保活我一直也在摸索优化;关于2想多问下,运动开始的startTime是从传感器每次运动的首次回调打点吗?我现在就是判断mDbSaveCount为1的时候记为startTime和当前步数,到运动结束时记endTime,然后currentStep - 前面记的步数,然后insert db。也考虑过,模拟iOS健康,每次运动从0开始计步数。你觉得哪种更好点呢?