Salud

  
Crea aplicaciones de salud eficaces en una plataforma de una manera independiente.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
11 de febrero de 2026 1.0.0 - 1.1.0-beta01 -

Cómo declarar dependencias

Para agregar una dependencia en Health, debes agregar el repositorio Maven de Google a tu proyecto. Lee el repositorio Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    implementation "androidx.health:health-services-client:1.1.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.1.0-beta01")
}

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Health Connect Client versión 1.0

Versión 1.0.0-alpha04

24 de agosto de 2022

A partir de la versión 1.0.0-alpha04, se migró androidx.health:health-connect-client a androidx.health.connect:connect-client. Para versiones futuras, usa androidx.health.connect:connect-client y las notas de la versión asociadas en nuestra página de Health Connect.

Para migrar, simplemente cambia la importación de dependencias de androidx.health:health-connect-client:1.0.0-alpha03 a androidx.health.connect:connect-client:1.0.0-alpha04.

Versión 1.0.0-alpha03

27 de julio de 2022

Lanzamiento de androidx.health:health-connect-client:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Resumen de los nuevos cambios en la API: Se agregó un conjunto de unidades a las APIs de lectura, escritura y agregación. Las apps ahora pueden recuperar o escribir registros con la unidad que prefieran, como gramos o miligramos de nutrientes de NutritionRecord.

Cambios en la API

  • Se corrigió List<DataOrigin> para que sea Set<DataOrigin> en varios objetos de respuesta de solicitud (I42342).
  • Se corrigió la unidad de calorías basales totales de Potencia->Energía (I0b429).
  • Se movieron las clases de muestra de series dentro de los registros de series (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • La clase HealthDataRequestPermission dejó de estar disponible y se reemplazó por PermissionController.createRequestPermissionActivityContract. Esto mejora la visibilidad y la unificación de los parámetros (I81e7f).
  • Se agregaron onzas fluidas de EE.UU. al volumen (I5f03d).
  • Se agregó el tipo de unidad Velocidad (I1d574).
  • Se agregó el tipo de unidad Porcentaje (I08f23).
  • Se agregó el tipo de unidad Presión (Ifb01f).
  • Se agregó el tipo de unidad Masa (Ifd81a).
  • Se agregó el tipo de unidad Volumen (I59ad1).
  • Se agregó el tipo de unidad Potencia. Se movió la clase de muestra de la serie Potencia dentro de la clase PowerRecord (I5b1e5).
  • Se agregó el tipo de unidad Energía (I983ae).
  • Se agregó el tipo de unidad Temperatura (I4cdb5).
  • Se cambió el nombre de las referencias de Actividad para que sean específicas de Ejercicio, incluidas las siguientes (I3f936):
    • Se cambió el nombre de ActivityLap -> ExerciseLapRecord.
    • Se cambió el nombre de ActivityEvent -> ExerciseEventRecord.
    • Se cambió el nombre de Repetitions -> ExerciseRepetitionsRecord.
    • Se cambió el nombre de ActivitySession -> ExerciseSessionRecord.
  • Se movieron los metadatos del paquete anidados en registros (Ie0835).
  • Se usó la unidad Longitud en todos los registros restantes (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Se agregó el tipo de unidad Longitud (Idae39).
  • Se actualizó la terminología de descripción CervicalMucus (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Se agregó el sufijo "Registro" a todos los nombres de clase de registro (I1ffc2).

Correcciones de errores

  • Se corrigieron problemas de ProGuard cuando la biblioteca se compilaba con la variante de lanzamiento y minifyEnabled verdadero (I78933).
  • Se ocultó la documentación que no está destinada al uso público (I7a08f).
  • Se corrigió el problema en clientes que pueden tener sus propias dependencias de protobuf (https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430).

Versión 1.0.0-alpha02

1 de junio de 2022

Se lanzó androidx.health:health-connect-client:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • hasMetric y getMetric dejaron de estar disponibles en AggregationResult, se agregaron los operadores contains y get (I7cc7c).
  • Se agregaron OvulationTest.Result.HIGH y OvulationTest.Result.INCONCLUSIVE (I9f9c4).

Correcciones de errores

  • Se redujeron los requisitos del SDK a 26 (I6d201).

Versión 1.0.0-alpha01

11 de mayo de 2022

Se lanzó androidx.health:health-connect-client:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • API para leer registros de entrenamiento y salud compartidos por otras apps
  • API para escribir registros de salud y entrenamiento, y compartirlos con otras apps
  • API para recuperar las métricas globales de los registros a los que se tiene acceso
  • API para recuperar cambios incrementales (inserción, actualización o eliminación) de los registros de otras apps
  • API para solicitar permisos de salud a los usuarios
  • API para verificar los permisos o revocar los permisos de salud otorgados

Health Services Client versión 1.1

Versión 1.1.0-beta01

11 de febrero de 2026

Lanzamiento de androidx.health:health-services-client:1.1.0-beta01, androidx.health:health-services-client-external-protobuf:1.1.0-beta01 y androidx.health:health-services-client-proto:1.1.0-beta01. La versión 1.1.0-beta01 no contiene cambios desde la versión alfa anterior.

Versión 1.1.0-alpha05

11 de diciembre de 2024

Lanzamiento de androidx.health:health-services-client:1.1.0-alpha05, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05 y androidx.health:health-services-client-proto:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Ahora incluye reglas de ProGuard para evitar que se quiten las clases necesarias. (65d0c3f)

Correcciones de errores

  • Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deberían usar el siguiente argumento del compilador para aplicar el uso correcto: -Xjspecify-annotations=strict (este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (Iaf73a, b/326456246)

Versión 1.1.0-alpha04

16 de octubre de 2024

Lanzamiento de androidx.health:health-services-client:1.1.0-alpha04, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04 y androidx.health:health-services-client-proto:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Correcciones de seguridad

  • A partir de este cambio, androidx se compila con protobuf 4.28.2 para abordar el CVE-2024-7254. Actualiza tu dependencia en androidx.health:health-services-client a la versión 1.1.0-alpha04 más reciente para abordar el riesgo de vulnerabilidad.

Versión 1.1.0-alpha02

13 de diciembre de 2023

Lanzamiento de androidx.health:health-services-client:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Usa una sola fuente de información para los ExerciseEvent admitidos. (I03308)

Correcciones de errores

  • Se corrigieron errores menores y se mejoró la documentación.

Versión 1.1.0-alpha01

9 de agosto de 2023

Lanzamiento de androidx.health:health-services-client:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron las APIs de ExerciseEvent junto con el primer evento concreto: GolfShotEvent. Las primitivas de ExerciseEvent permiten a los desarrolladores consultar la compatibilidad y solicitar que se les notifique cuando el reloj detecte que ocurrió algo. GolfShotEvent como ejemplo permite que se notifique a los desarrolladores cuando el usuario realiza un tiro de golf, además de recibir el tipo de swing reconocido.

Cambios en la API

  • Permite que los clientes del SDK de WHS usen las funcionalidades de GolfShotEvent. (I76b03)

Correcciones de errores

  • En lugar de arrojar excepciones de forma agresiva cuando se ven capacidades desconocidas de eventos de ejercicio, se filtran de la lista. (I06afc)

Health Services Client versión 1.0

Versión 1.0.0

7 de mayo de 2025

Lanzamiento de androidx.health:health-services-client:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

  • Esta es la promoción de la versión 1.0.0-rc02 para que sea la versión estable del cliente de Servicios de salud. No hay cambios desde la versión 1.0.0-rc02.

Versión 1.1.0-alpha03

14 de mayo de 2024

Lanzamiento de androidx.health:health-services-client:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Se introdujeron las APIs de DebouncedGoal que permiten hacer un seguimiento de un objetivo para el tipo de datos de muestra o el tipo de datos de muestra de estadísticas durante el ejercicio con funciones de eliminación de rebotes(initialDelay y durationAtThreshold). (I09be9)
  • Se agregaron las siguientes métricas de carrera avanzadas de muestra y la estadística DataTypes. (I0b8b5):
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

Cambios en la API

  • Se agregó ELEVATION_GAIN_DAILY DataType. (I059d1)
  • Se agregó SWIM_LAP_COUNT_TOTAL DataType como el DataType agregado para SWIM_LAP_COUNT. (I0beeb)

Correcciones de errores

  • Se corrigieron varios problemas para mejorar la confiabilidad de la IPC.

Versión 1.0.0-rc02

3 de abril de 2024

Lanzamiento de androidx.health:health-services-client:1.0.0-rc02. La versión 1.0.0-rc02 contiene estas confirmaciones. Esta versión solo incluye correcciones de errores y no contiene cambios en la API.

Correcciones de errores

  • Se corrigieron varios problemas para mejorar la confiabilidad de la IPC
  • Se solucionó un problema por el que llamar a startExercise al mismo tiempo que a prepareExercise podía generar un ConcurrentModificationException (4e37773).
  • Se mejoró la documentación.

Versión 1.0.0-rc01

26 de julio de 2023

Lanzamiento de androidx.health:health-services-client:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Nuevas funciones

  • Los Servicios de salud pasaron a la versión 1.0.0-rc01 después de estabilizarse en la versión beta.

Cambios en la API

  • Se combinaron los archivos de API públicos y experimentales para las rutas de la H a la M. (Ic4630, b/278769092)
  • N/A, los cambios en el archivo de la API solo reordenan los métodos. (I5fa95)

Versión 1.0.0-beta03

5 de abril de 2023

Lanzamiento de androidx.health:health-services-client:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Nuevas funciones

Ahora, BatchingMode se puede configurar para entregar datos de ejercicios por lotes en el intervalo configurado en lugar del predeterminado durante un ejercicio activo, ya sea al inicio del ejercicio a través de ExerciseConfig o durante con un método de anulación. La compatibilidad con esta función se habilitará en una próxima versión de Servicios de salud en Google Play Store y se puede verificar a través de las capacidades de ejercicio. Nota: Los modos de procesamiento por lotes entran en vigencia mientras el dispositivo se encuentra en un estado de energía no interactivo y provocan un mayor consumo de energía.

Cambios en la API

  • Se arroja HealthServicesException cuando falla la función de suspensión overrideBatchingModesForActiveExercise (Ifd387).
  • Se introdujeron funciones de suspensión para la API de overrideBatchingModesForActiveExercise asíncrona, lo que las hace más compatibles con Kotlin (I7dd15).
  • BatchingMode anula el argumento opcional en ExerciseConfig (Id22e9).

Correcciones de errores

  • Se realizaron pequeñas correcciones en DataType y ExerciseUpdate (5e185f).

Versión 1.0.0-beta02

11 de enero de 2023

Se lanzó androidx.health:health-services-client:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron funciones de extensión suspend de las APIs ListenableFuture asíncronas existentes en ExerciseClient, PassiveMonitoringClient y MeasureClient para mejorar la compatibilidad con Kotlin (Iadea4).
  • Se agregó la API de ExerciseTypeConfig que habilita las actualizaciones durante un ejercicio en curso. Se agregó GolfExerciseTypeConfig para admitir la actualización de ExerciseTypeConfig durante los ejercicios de golf (I4c539).

Cambios en la API

  • Se agregó HealthServicesException en las funciones de suspensión (I5e509).
  • Se agregó otro constructor para generar retrocompatibilidad (Iddeda).
  • Se arroja RuntimeException en las funciones de suspensión (I53bca).
  • Se quitó la implementación predeterminada de la excepción de lanzamiento (Id947f).
  • Se agregó la anotación @JvmDefaultWithCompatibility (I8f206).

Correcciones de errores

  • Se agregó kdoc para brindar mayor claridad al usuario (Ide285).
  • Se permite el seguimiento de supervisión pasivo para objetivos solo si también se realiza el seguimiento de los mismos tipos de datos (Ibed8d).

Versión 1.0.0-beta01

24 de octubre de 2022

Lanzamiento de androidx.health:health-services-client:1.0.0-beta01. La Versión 1.0.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó la capacidad de escuchar eventos de salud a través de PassiveMonitoringClient. El primero es HealthEvent.FALL_DETECTED.

  • Nuevos ExerciseTypes:

    • ALPINE_SKIING
    • BACKPACKING
    • CROSS_COUNTRY_SKIING
    • HORSE_RIDING
    • INLINE_SKATING
    • MOUNTAIN_BIKING
    • ORIENTEERING
    • ROLLER_SKATING
    • YACHTING
  • Nuevos DataTypes:

    • ELEVATION_LOSS
    • GOLF_SHOT_COUNT

Cambios en la API

  • Actualización de la forma en que se modelan los datos: Se reacondicionaron el modelo de datos y cómo se representan DataType, DataPoint y sus valores subyacentes. El impacto de nivel superior es que las APIs ahora son mucho más explícitas y de tipo seguro.
  • Los DataPoint de ubicación ya no se representan como DoubleArray, sino como un objeto LocationData de tipo fuerte.
  • Se trasladó a un nuevo conjunto de APIs de objetos de escucha pasivos:
    • La transmisión se reemplazó por PassiveListenerService.
    • Los objetos de escucha existentes se reemplazaron por un solo objeto de escucha: PassiveListenerCallback.
  • Se agregó la etiqueta <queries> al manifiesto de Servicios de salud para que las aplicaciones ya no necesiten especificarlo en su propio manifiesto (siempre que esté activada la combinación de manifiestos en su sistema de compilación).
  • Se quitó de muchos ExerciseState para representar que el ejercicio está finalizando o finalizado y se agregaron nuevos estados de ejercicio ENDING y ENDED. Ahora se combinan con ExerciseEndReason para representar la gama completa de estados anteriores.
  • Se cambió el nombre de PassiveListenerConfig setPassiveGoals a setDailyGoals para reflejar mejor que solo admitimos objetivos pasivos diarios.
  • Ahora, PassiveGoal siempre es REPEATED y se quitó el TriggerFrequency pasivo.
  • Se anotaron todos los parámetros Long y Double con @FloatRange.
  • Se agregó la propiedad swimmingPoolLengthMeters a ExerciseConfig, que se puede especificar de forma opcional a fin de mejorar los cálculos de distancia para natación en piscinas.
  • ExerciseUpdate.activeDuration quedó obsoleto. Usa ExerciseUpdate.activeDurationCheckpoint en su lugar.
  • Se cambió el nombre de la API flushExerciseAsync() a flushAsync() en ExerciseClient.
  • Se cambió el nombre de Measure.registerCallback por Measure.registerMeasureCallback.
  • Cambios generales en los nombres:
    • Las propiedades de distancia ahora tienen el sufijo meters.
    • Los nombres de los métodos de devolución de llamada están en pasado.
    • Se quitaron la mayoría de las abreviaturas (HrAccuracy ahora es HeartRateAccuracy).
    • Las propiedades que siguen el patrón enableFoo ahora se denominan isFooEnabled.
  • Se migró de Enums.
  • Los horarios representados por Double ahora están representados por Duration.
  • Las funciones que muestran un ListenableFuture<Void?> ahora muestran un ListenableFuture<Void>.
  • Las funciones que aceptan una devolución de llamada ahora siempre la muestran como el último parámetro.
  • Las clases con compiladores ahora también tienen constructores públicos.
  • Las funciones de registro ya no devuelven un ListenableFuture y, en cambio, pasan el estado de registro a la devolución de llamada proporcionada.
  • Se mejoró KDocs.
  • Las clases públicas ya no extienden ProtoParcelable.

Correcciones de errores

  • Se hicieron mejoras generales en la confiabilidad de IPC (I3b1e2).

Versión 1.0.0-alpha03

3 de noviembre de 2021

Se lanzó androidx.health:health-services-client:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • El SDK volverá a registrar automáticamente las solicitudes de registro de devoluciones de llamada de supervisión, medición de objetos y supervisión pasiva en caso de que la conexión IPC se interrumpa con el APK de Servicios de salud.

Cambios en la API

  • Se mejoró la minSdkVersion de la biblioteca de SDK hasta el nivel de API 30, ya que el cliente de Servicios de salud solo se admite actualmente en Wear3.

Versión 1.0.0-alpha02

29 de septiembre de 2021

Lanzamiento de androidx.health:health-services-client:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • ExerciseClient ahora admite la preparación de un ejercicio. De esta manera, los clientes pueden preparar los sensores y esperar a que, por ejemplo, se obtengan datos del GPS, antes de comenzar a hacer ejercicio.
  • Se incorporaron las clases CumulativeDataPoints y StatisticalDataPoints AggregateDataPoint para modelar mejor las métricas agregadas que se registran durante un ejercicio activo. CumulativeDataPoints conserva valores acumulados de tipos de datos de intervalos agregados (como la distancia total durante el ejercicio), mientras que el modelo StatisticalDataPoints acumula valores agregados de datos de muestra (como los valores mínimos y máximos y HeartRateBpm promedio). Esto reemplaza los DataTypes de AGGREGATE_* anteriores y se puede acceder a ellos en ExerciseUpdate mediante getLatestAggregateMetrics(). Ya no se admiten DataTypes de AGGREGATE_*.
  • Se cambió en nombre de Events de PassiveMonitoring por PassiveGoals, que admite configurar objetivos y repetir notificaciones cuando se alcanzan dichos objetivos para tipos de datos como métricas diarias (es decir, DAILY_STEPS).
  • Se mejoraron los modelos precisión y disponibilidad del ritmo cardíaco y la ubicación mediante la incorporación de las nuevas clases HrAccuracy, LocationAccuracy y LocationAvailability.
  • Se mejoró la denominación de ExerciseConfig y los nuevos campos PassiveMonitoringConfig, y se incorporó ExerciseConfig.shouldEnableGps para solicitar datos respaldados por GPS.

Correcciones de errores

  • Se migró al transporte IPC respaldado por proto para una mejor retrocompatibilidad.

Versión 1.0.0-alpha01

18 de mayo de 2021

Lanzamiento de androidx.health:health-services-client:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Funciones de la versión inicial

La biblioteca de servicios de Health proporciona un conjunto uniforme de API que los desarrolladores pueden integrar a las implementaciones de sensores específicas del dispositivo. Funciona de inmediato con emuladores Wear OS 3 y dispositivos futuros. Además, se admitirán plataformas adicionales. En esta versión inicial, se incluyen tres superficies de API de nivel superior: ExerciseClient, PassiveMonitoringClient y MeasureClient.

ExerciseClient

ExerciseClient está diseñado para aplicaciones que realizan un seguimiento de los entrenamientos activos, con hasta 82 ExerciseType diferentes que van desde caminar y correr hasta bailar y practicar waterpolo. Mientras realizas un seguimiento de estos ejercicios, hay una selección de 50 DataType diferentes disponibles según el tipo de ejercicio y hardware disponibles en el dispositivo. Para comenzar, solo especifica la información relevante en tu ExerciseConfig, llama a exerciseClient.startExercise y escucha el progreso del objeto de escucha de actualizaciones.

PassiveMonitoringClient

PassiveMonitoringClient es una excelente opción si tu aplicación realiza un seguimiento de la actividad del usuario a lo largo del día. Puedes registrar un PendingIntent con un conjunto de DataType y despertarte para controlar los cambios por lotes. Como alternativa, puedes especificar un Event, como alcanzar una determinada cantidad de pasos.

MeasureClient

A veces, el usuario necesita medir, p. ej., su ritmo cardíaco en el momento, no durante un ejercicio ni a lo largo del día. En esas instancias, MeasureClient es la mejor opción. Solo debes registrar tu devolución de llamada con los DataType compatibles para recibir una transmisión de datos y cancelar el registro de tu devolución de llamada cuando ya no sea necesario.