Android 检测用户是否正在移动
我想检测一个用户是否在移动——走路还是跳跃 我找到了这个代码示例Android 检测用户是否正在移动,android,Android,我想检测一个用户是否在移动——走路还是跳跃 我找到了这个代码示例 private final SensorEventListener sensorEventListener = new SensorEventListener() { double calibration = SensorManager.STANDARD_GRAVITY; public void onAccuracyChanged(Sensor sensor, int accuracy) {
private final SensorEventListener sensorEventListener = new SensorEventListener() {
double calibration = SensorManager.STANDARD_GRAVITY;
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
double x = event.values[0];
double y = event.values[1];
double z = event.values[2];
double a = Math.round(Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)
+ Math.pow(z, 2)));
currentAcceleration = Math.abs((float) (a - calibration));
它给出的读数在0.01和0.2克之间-我可以用这个例子来检测运动吗??
也许有点离题对不起,如果是这样的话 您需要创建一个日志文件,并写入所有更改的数据,以生成简单的算法 您不需要像0.000000001这样的超深细节检测,只需要像0.000000001这样检测2个浮点 int estimateX=intx*100 在0.75到0.80这样的大范围内移动时保持日志如果你问我们如何知道范围,是的,你需要走着看 继续走
当然,您可以尝试检测从那里获得的数据中的模式。如果它一直像上下一样,那可能是运动。现在你只需要找到一个函数,根据你得到的数据计算移动的概率。像这样的研究论文可能有一些关于这一主题的信息。要做的事情是把这一点,并在它周围添加一些代码,把它放在你的设备上,四处走走,看看它是否有效。现在的x,y,z是加速度。你需要速度,它是v=加速度乘以时间,位置是速度乘以时间的平方。或者a,v=at,&x=vt*t