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 diciembre de 2024 - 1.0.0-rc02 - 1.1.0-alpha05

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-alpha03"
}

Kotlin

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

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-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 nulidad de JSpecify, que son de tipo de uso. Los desarrolladores de Kotlin deben usar los siguientes argumentos del compilador para aplicar el uso correcto: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (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 compila con protobuf 4.28.2 para abordar el CVE-2024-7254. Actualiza tu dependencia de 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 única fuente de confianza para los ExerciseEvent admitidos. (I03308).

Correcciones de errores

  • Se corrigieron errores menores y se realizaron mejoras en 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 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 los desarrolladores reciban una notificación cuando el usuario realiza un golpe de golf, además de recibir el tipo de swing reconocido.

Cambios en la API

  • Habilita a los clientes del SDK de WHS para que usen las funciones de GolfShotEvent. (I76b03)

Correcciones de errores

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

Health Services Client versión 1.0

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 anulación de rebote(initialDelay y durationAtThreshold). (I09be9)
  • Se agregó el siguiente ejemplo de métricas de carrera avanzadas y DataTypes estadístico. (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 del 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 es una versión solo de corrección de errores y no contiene cambios en la API.

Correcciones de errores

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

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

  • Health Services pasó 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 h a m. (Ic4630, b/278769092).
  • N/A, los cambios en el archivo de la API son solo métodos de reordenamiento. (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 se puede configurar BatchingMode para que envíe datos de ejercicio por lotes en el intervalo configurado en lugar del predeterminado durante un ejercicio activo, ya sea al comienzo 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 los Servicios de salud en Google Play Store y se podrá verificar a través de las funciones de ejercicio. Nota: Los modos por lotes se aplican mientras el dispositivo está en un estado de energía no interactivo y aumentarán el 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 lo opcional en ExerciseConfig (Id22e9).

Correcciones de errores

  • Correcciones menores de 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 muestran un ListenableFuture, sino que 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.