如何在android中获得像汽车一样的加速和减速?

问题描述:

我读了一些关于TYPE_LINEAR_ACCELERATION如何在android中获得像汽车一样的加速和减速?

private SensorManager mSensorManager; 
private Sensor mSensor; 
... 
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION); 

但它返回3个值,我不知道如何与他们工作..

我想有它在M /就像下一个PIC enter image description here

我想获得像这些设备的结果:

enter image description here

可能它返回三维的加速度。但根据this answer TYPE_LINEAR_ACCELERATION是不正确的使用。您可以尝试使用TYPE_ACCELEROMETER this question与您需要的非常相似。下面的代码可能会测量速度

public void onSensorChanged(SensorEvent se) 
{ 

    accX = se.values[SensorManager.DATA_X]; 
    accY = se.values[SensorManager.DATA_Y]; 
    accZ = se.values[SensorManager.DATA_Z]; 
    long now = System.currentTimeMillis(); 
    deltaT = now - lastEvetn; 
    lastEvetn = now; 

    // calculate velocity in 3D by using 3D acceleration 
    Vx = Vx + deltaT * accX; 
    Vy = Vy + deltaT * accX; 
    Vz = Vz + deltaT * accX; 
} 
+0

那么你的答案是什么? aceleration = ??? – angel

+0

accX = acelerationX等...... – canbax

+0

那么如果一辆车在移动什么是加速度?此时我正在使用位置和locationAnt,使用公式location.getSpeed() - locationAnt.getspeed()/(location.getTime() - locationAnt.getTime())/ 1000 – angel