Cómo obtener velocidad en la aplicación de Android utilizando Ubicación o acelerómetro o de alguna otra manera

Estoy trabajando en la aplicación e intento obtener la velocidad y la distancia recorrida por el usuario. He utilizado la clase de ubicación de los servicios de Google Play para obtener la velocidad, pero siempre me devuelve un valor de 0.0 y no es en absoluto confiable. Describí velocidad y distancia precisas en tiempo real.

He instalado la aplicación GPS Speedometer en mi dispositivo y es tan perfecta que incluso si estoy caminando, me da la velocidad. Quiero conseguir lo mismo. Estoy confundido acerca de cómo obtener velocidad, usar la ubicación o usar el acelerómetro o ¿hay alguna otra forma de hacerlo?

Mi código está disponible en este enlace: -

Ruta de dibujo en Google Maps utilizando la API de Android de Google Maps v2

Estoy desarrollando una aplicación basada puramente en la ubicación que incluye mapas, velocidad y otras cosas relacionadas que están relacionadas con las ubicaciones.

Si alguien tiene alguna idea, por favor ayúdenme a resolver el problema de la velocidad y la distancia.

Respuestas a la pregunta(4)

Su respuesta a la pregunta