¿Cómo encontrar la distancia de desplazamiento usando el sensor acelerómetro en un teléfono inteligente Android?

Tengo un teléfono inteligente con Android que contienesensor de acelerador, sensor de brújula y sensor de giroscopio. Quiero calcular la distancia de desplazamiento utilizando estos sensores.

Ya probé con el método básico, es decir,

final velocity = initial velocity + ( acceleration * time taken)
distance = time taken * speed

Pero no puedo obtener el desplazamiento correcto. Cada vez que traté por el mismo desplazamiento obtengo resultados diferentes.

Respuestas a la pregunta(2)

Su respuesta a la pregunta