es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lector de Entrenamiento/Ejercicio Google Fit

He intentado

val dataRequest = DataReadRequest.Builder()
                    .aggregate(DataType.TYPE_DISTANCE_DELTA)
                    .aggregate(DataType.TYPE_CALORIES_EXPENDED)
                    .aggregate(DataType.TYPE_HEART_RATE_BPM)
                    .read(DataType.TYPE_WORKOUT_EXERCISE)
                    .read(DataType.AGGREGATE_MOVE_MINUTES)
                    .read(DataType.TYPE_MOVE_MINUTES)
                    .setTimeRange(start2B, end2B, TimeUnit.MILLISECONDS)
                    .enableServerQueries()
                    .bucketByActivitySegment(1, TimeUnit.MINUTES)
                    .build()

 Fitness.getHistoryClient(this, account)
                    .readData(dataRequest)
                    .addOnSuccessListener {
                         for (bucket in it.buckets) {
                            for (data in bucket.dataSets) {
                                for (point in data.dataPoints) {
                                    when(point.dataType) {
                                        DataType.AGGREGATE_DISTANCE_DELTA   -> distanceTotal.add(   point.getValue(Field.FIELD_DISTANCE).asFloat()          )
                                        DataType.TYPE_HEART_RATE_BPM        -> heartRateTotal.add(  point.getValue(Field.FIELD_BPM).asFloat()               )
                                        DataType.TYPE_CALORIES_EXPENDED     -> caloriesTotal.add(   point.getValue(Field.FIELD_CALORIES).asFloat()          )
                                        DataType.TYPE_WORKOUT_EXERCISE      -> exerciseNames.add(  "[${point.getValue(Field.FIELD_EXERCISE).asString()}]   ")
                                        DataType.TYPE_MOVE_MINUTES          -> Log.i("GOOGLE-FIT", "Move Minutes          $point     ")
                                        DataType.AGGREGATE_MOVE_MINUTES     -> Log.i("GOOGLE-FIT", "Moving Mins  Count    $point     ")
                                    }
                                }
                                Log.i("GOOGLE-FIT", "Google Daily  DATE Read      INFO       A: $distanceTotal          B: $heartRateTotal          C: $caloriesTotal          D: $exerciseNames           ")

                            }
                        }

A veces obtengo calorías y distancia, pero nunca el nombre del ejercicio.
¿Cuál es la forma correcta de acceder a los ejercicios/rutinas grabados en Google Fit?

¿Alguien conoce algún tutorial o ejemplo que muestre cómo obtener datos de rutinas de ejercicios a través de la API de Google Fit?

¿Dónde se puede obtener soporte para la API de Google Fit?

Gracias de antemano.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para acceder al ejercicio/rutina registrado en Google Fit, la forma correcta es utilizar el atributo FIELD_EXERCISE del punto de datos de esta manera:

    point.getValue(Field.FIELD_EXERCISE).asString()

    Si el código anterior no devuelve los nombres de los ejercicios, es posible que no haya registros de ejercicio/rutina disponibles en el rango de tiempo especificado.

    Existen varios recursos en línea y tutoriales disponibles para comenzar con la API de Google Fit, que incluyen:

    Para obtener soporte de la API de Google Fit, los desarrolladores pueden visitar la página de soporte de la API de Google Fit: https://developers.google.com/fit/support. También pueden publicar sus consultas en los foros de la comunidad de la API de Google Fit o en Stack Overflow.

Comments are closed.