使用设备加速度计android计算用户速度和距离

时间:2013-04-18 05:03:03

标签: android performance accelerometer

您好我正在开发小型Android应用程序,其中我想使用设备加速度计计算用户所覆盖的用户速度和距离。所以我做的是我在1分钟的时间范围内采集加速度的样本。从加速度计我得到x和z坐标。我取x坐标值并取其平均值。从而我正在计算用户的速度。

但它没有给出适当的价值。 有没有办法做到这一点?如何做到这一点,它会给我很好的约值? 我是按照以下方式做到的:

// sum of no samples of acceleration points 
sum_acc = sum_acc+event.values[0];
// avg of acc
avg_acc = sum_acc/no_of_samples;
// speed of user 
speed = avg_acc*time_frame;
// distance
distance = speed*time;

我需要更好更准确的结果。需要帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

你说速度和距离,

对于速度,而不是使用加速度计,在给定的时间间隔内发出位置请求,在该时间间隔内获取两个位置并将其转换为里程,然后将位置除以时间间隔。从那里,你有你的速度。 要发出位置请求并获取更新,请按照此Link

进行操作

对于距离,使用Geolocator api并在给定的时间间隔后请求设备的当前位置,将覆盖的距离相加并获得总距离。