Health Connect

  
Permite que los desarrolladores lean o escriban los registros de salud y fitness de los usuarios.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
15 de enero de 2025 - - - 1.1.0-alpha11

Solicita acceso a tipos de datos

Para ayudarnos a fortalecer la privacidad y la seguridad de los usuarios, los desarrolladores que se integran con Health Connect deben declarar el acceso de lectura o escritura para los tipos de datos que usan sus apps. Los desarrolladores deben incluir casos de uso válidos para los tipos de datos que utilizan según el propósito de la app. Para obtener más información, consulta Proporciona información para el formulario de declaración de apps de salud y Permisos de Health Connect de Android.

Cómo declarar dependencias

Para agregar una dependencia en Health, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio de 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 {
    // Use to implement health connects
    implementation "androidx.health.connect:connect-client:1.1.0-alpha08"
}

Kotlin

dependencies {
    // Use to implement health connects
    implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

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 Testing versión 1.0

Versión 1.0.0-alpha01

4 de septiembre de 2024

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

Nuevas funciones

La biblioteca de pruebas de Health Connect simplifica la creación de pruebas automatizadas. Puedes usar esta biblioteca para verificar el comportamiento de tu aplicación y validar que responda correctamente a casos poco comunes, que son difíciles de probar de forma manual.

Puedes usar la biblioteca para crear pruebas de unidades locales, que suelen verificar el comportamiento de las clases de tu app que interactúan con el cliente de Health Connect.

El punto de entrada a la biblioteca es la clase FakeHealthConnectClient, que usas en las pruebas para reemplazar HealthConnectClient. Tiene las siguientes características:

  • Es una representación en la memoria de los registros, de modo que puedes insertarlos, quitarlos, borrarlos y leerlos.
  • Generación de tokens de cambios y seguimiento de cambios
  • Paginación de registros y cambios
  • Las respuestas de agregación se admiten con stubs
  • Permite que cualquier función arroje excepciones.
  • Un FakePermissionController que se puede usar para emular las verificaciones de permisos

Cambios en la API

  • Se agregó FakeHealthConnectClient e8469.
  • Se agregaron anulaciones de stub para FakeHealthConnectClient e8469.

Versión 1.1

Versión 1.1.0-alpha11

15 de enero de 2025

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

Nuevas funciones

  • Se actualizaron los permisos de lectura en segundo plano y del historial para admitir Android 13 y versiones anteriores.

Cambios en la API

  • Se agregaron sobrecargas reificadas intercaladas para HealthPermission.getReadPermission y HealthPermission.getWritePermission (I59a2e).

Correcciones de errores

  • Se quitaron los métodos de permisos heredados (Ifd080).
  • 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).
  • Se corrigió la documentación de HealthPermission.READ_HEALTH_DATA_HISTORY, específicamente, se señaló que las operaciones de lectura sin este permiso solo fallan cuando se intenta leer un solo dato. (Id5b5a).

Versión 1.1.0-alpha10

16 de octubre de 2024

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

Nuevas funciones

  • Se agregaron SkinTemperature tipos de agregación. (Ibe123)
  • Se agregó la constante FEATURE_PLANNED_EXERCISE (Ie02a3).
  • Se agregaron permisos de lectura de historial. (I5cf41)
  • Se agregó la API de Training plans (If5be1).
  • Se agregó la API de SkinTemperatureRecord. (I5605d).

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:connect:connect-client-proto y androidx.health:connect:connect-client-external-protobuf a la versión 1.1.0-alpha10 más reciente para abordar el riesgo de vulnerabilidad.

Versión 1.1.0-alpha09

18 de septiembre de 2024

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

Nuevas funciones

  • Se agregó el permiso de lectura en segundo plano, protegido por la disponibilidad de la función. (I01036, I44db9).

Versión 1.1.0-alpha08

4 de septiembre de 2024

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

Cambios en la API

  • Establece el valor predeterminado para la variable de funciones en HealthConnectClient. (I788dc)
  • Agrega una API para verificar la disponibilidad de las funciones. (Iedd43).

Correcciones de errores

  • Muestra SDK_UNAVAILABLE en HealthConnectClient.getSdkStatus() cuando HealthConnectManager es nulo en U+ 5802f.
  • Se agregaron anulaciones de toString a RecordClasses aa5dc.
  • Se quitó el esquema manual de acceso a las nuevas APIs de la plataforma, ya que esto se realiza automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usen AGP que actualicen a la versión 8.1 de D8 o una posterior. Consulta este artículo para obtener más detalles. (If6b4c, b/345472586).

Versión 1.1.0-alpha07

10 de enero de 2024

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

Cambios en la API

  • Muestra SDK_UNAVAILABLE cuando se llama a #getSdkStatus desde un contexto de usuario de perfil. (I91df3).
  • Se quita SleepStageRecord. (/If6ada).

Correcciones de errores

  • Lanza RemoteException en lugar de IllegalStateException en las fallas de vinculación. (Id2233).

Versión 1.1.0-alpha06

18 de octubre de 2023

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

Cambios en la API

  • Hace que las definiciones de recordingMethod sean públicas. (I401fb).

Correcciones de errores

  • Agrega documentación a la ruta de ejercicio que especifique que la ubicación debe estar antes de la hora de finalización de la sesión. (0e51e6).

Versión 1.1.0-alpha05

4 de octubre de 2023

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

Cambios en la API

  • Se agregó un intent que navega a la pantalla de administración de datos de Health Connect. (Ibf591)
  • Se quitaron los métodos obsoletos en AggregationResult. (Idbda9)
  • Se agregó una API de conveniencia para crear ReadRecordsRequest, así como para borrar y leer registros, con un tipo de registro reificado. (If58a5).

Correcciones de errores

  • Se corrigió un error en Android 14 por el que los campos de nutrición nulos se mostraban como Double.MIN_VALUE. (1aa1d1).
  • Se corrigió un error en Android 14 en el que la agregación por período mensual o anual arrojaba una excepción en la respuesta debido a que los buckets tenían la misma hora de inicio y finalización. (281313)

Versión 1.1.0-alpha04

6 de septiembre de 2023

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

Cambios en la API

Correcciones de errores

Versión 1.1.0-alpha03

26 de julio de 2023

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

Nuevas funciones

  • API para leer y escribir rutas de ejercicio:
    • Se agregó ExerciseRouteResult a ExerciseSessionRecord
    • Se agregó ExerciseRouteRequestContract

Cambios en la API

  • Se agregaron ExerciseRouteResult y sus subclases: Data, NoData y ConsentRequiredStates.
  • Se agregó ExerciseRoute como una clase independiente, que contiene datos de ubicación para la ruta. (I22eed).
  • Se agregó PERMISSION_WRITE_EXERCISE_ROUTE. (I92fc4).
  • Se agregó ExerciseRouteRequestContract y HealthPermissionsRequestContract. (Ief0e5).

Correcciones de errores

  • Se corrigió la construcción de energía en kilojulios (Ie8791).

Versión 1.1.0-alpha02

21 de junio de 2023

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

Correcciones de errores

  • Se corrigió la fuga de HealthDataSdkService (Ia3ba5).
  • Siempre redirecciona al cliente HealthConnect correcto cuando solicites permisos en Android U.(I6415a)

Versión 1.1.0-alpha01

7 de junio de 2023

Lanzamiento de androidx.health.connect:connect-client:1.1.0-alpha01. Esta versión se desarrolló en una rama interna.

Nuevas funciones

  • Compatibilidad con la versión del framework de Health Connect para Android 14. Este SDK es un requisito previo para Android 14. Sin ella, las apps no podrán integrarse a Health Connect en Android 14.
  • Se agregó un método de grabación para registrar metadatos.

Cambios en la API

  • Cambios en la API de sesión:
    • Se agregaron varias fases del sueño a SleepSessionRecord y se quitó SleepStageRecord.
    • Se agregaron ExerciseLap y ExerciseSegment a ExerciseSessionRecord.
  • Límites de frecuencia periódicos y diarios (incluidos los límites de memoria) para operaciones de lectura, registro de cambios, inserción y eliminación.
  • Se agregó la validación para todos los campos NutritionRecord.
  • Se agregó la validación para HeartRateVariabilityRmssdRecord.
  • Se quitaron dos APIs obsoletas: HealthConnectClient#isProviderAvailable y HealthConnectClient#isApiSupported.

Correcciones de errores

  • Se corrigió la igualdad de unidades para todos los tipos de unidades, ya que la igualdad ya no depende del tipo que se usa para la inicialización de unidades. Por ejemplo, Mass.grams(1000) ahora es igual a Mass.kilograms(1).

Versión 1.0

Versión 1.0.0-alpha11

22 de febrero de 2023

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

Cambios en la API

  • Se agregó un intent que se usa para abrir Health Connect (Ic8055).
  • Se quitaron algunos tipos de ejercicio. En su lugar, usa EXERCISE_TYPE_STRENGTH_TRAINING, EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING o EXERCISE_TYPE_CALISTHENICS (I7291c).
  • Se agregó la nueva API de sdkStatus() que combina las dos APIs obsoletas de isSdkSupported() y isProviderAvailable() (Iac89d).
  • Se cambiaron las APIs que aceptan providerPackageName para aceptar una sola string en lugar de una lista (I67e0f).

Versión 1.0.0-alpha10

25 de enero de 2023

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

Cambios en la API

  • ExerciseEventRecord, ExerciseLapRecord, ExerciseRepititionRecord y SwimmingStrokesRecord ya no se admiten como RecordTypes. Ya no se pueden escribir ni leer desde HealthConnect. Quita cualquier referencia a estos tipos de datos de la integración de HealthConnect (If7ca2).
  • Se realizaron cambios en las APIs de permisos para aceptar permisos en un formato nuevo basado en cadenas. Este cambio también requiere que se cambie la declaración de permisos al formato de permisos estándar de Android (Ib0a2f).

Versión 1.0.0-alpha09

11 de enero de 2023

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

Nuevas funciones

  • Se agregaron 2 nuevos tipos de datos de salud femenina para Health Connect: IntermenstrualBleedingRecord y MenstruationPeriodRecord. MenstruationFlow.ENUMs son ligero, intermedio, intenso y desconocido.

Cambios en la API

  • Se agregó IntermenstrualBleedingRecord (Idc470).
  • Se agregó el tipo de registro MenstruationPeriodRecord (Iea545).

Versión 1.0.0-alpha08

7 de diciembre de 2022

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

Cambios en la API

  • Se agregó BodyWaterMass y HeartRateVariabilityRmssdRecord como nuevos tipos de registro compatibles (Ifd58f).
  • Se quitó HipCircumferenceRecord, WaistCircumferenceRecord, según se admite RecordTypes (I62fb9).
  • Se cambió MenstruationFlowRecord.flow de stringdef a intdefs (I0369f).
  • Se cambiaron los campos de registro de tipo de enumeración de Strings a Integers para lograr un mejor rendimiento (I3b295).
  • Se cambiaron los campos de tipo de enumeración ExerciseSession, ExerciseRepetitions y SleepStage de tipo string a número entero (Id32a9).
  • Se cambió el nombre de ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL (I5d7bd).
  • Se agregó "Inusual" a enumeraciones CervicalMucus. Se cambió el nombre de "Clear" a "Eggwhite" para brindar más especificidad. Se cambió CervicalMucus#appearance y #sensation de StringDefs a IntDefs (I3ac51).
  • La enumeración StringDef de DeviceTypes ahora se trasladó a IntDefs en Dispositivo (I3abf3).
  • Se agregó HealthConnectClient.isApiSupported(), que muestra "falso" como valor en versiones de SDK sin implementaciones compatibles. Se cambió el nombre de HealthConnectClient.isAvailable->isProviderAvailable (I3674e).

Correcciones de errores

  • No se permiten valores HeartRate beatsPerMinute menores que 1 (I6052f).
  • Se agregó la anotación @JvmDefaultWithCompatibility (I8f206).

Versión 1.0.0-alpha07

24 de octubre de 2022

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

Cambios en la API

  • Los argumentos de registros sin valores predeterminados se colocan antes de los argumentos con valores predeterminados. Para mantener la coherencia, los argumentos Instant y ZoneOffset siempre se colocan al principio (Id618c).
  • Se cambió el nombre de HealthConnectClient.getOrCreate#packageNames por providerPackageNames (Id81e4).

Correcciones de errores

  • Se agregaron validaciones de valor del campo Record. Los valores muy incorrectos arrojarán IllegalArgumentExceptions cuando el valor proporcionado esté fuera de los límites razonables (Ie171d).
  • Se valida que la hora de inicio del registro sea anterior a la hora de finalización cuando esto resulte relevante (I02460).

Versión 1.0.0-alpha06

5 de octubre de 2022

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

Correcciones de errores

  • Mejora el ciclo de vida de la conexión de servicio (If2bd5).
  • Se corrigió un error de falla de NPE que se producía cuando se generaba una excepción en la conexión de servicio (I13546).

Versión 1.0.0-alpha05

21 de septiembre de 2022

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

Cambios en APIs

  • Se cambió el nombre de Metadata.uid a Metadata.id y se usó la terminología recordId de manera coherente en todas las APIs de CRUD relacionadas (I3d1d2).
  • Se convirtió a PermissionController.createRequestPermissionActivityContract en un método estático en lugar de un método de instancia. Se cambió el nombre a PermissionController.createRequestPermissionResultContract (Icd2fe).
  • Se agregó el tipo de unidad BloodGlucose para BloodGlucoseRecord (I97678).
  • Se cambió el nombre de MenstruationRecord a MenstruationFlowRecord (I3b88e).

Correcciones de errores

  • Se corrigió el comportamiento no deseado que no propagaba las estadísticas de primer plano del proceso del cliente (Ifb44c).

Versión 1.0.0-alpha04

24 de agosto de 2022 Lanzamiento de androidx.health.connect:connect-client:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Migración a `androidx.health.connect

A partir de la versión 1.0.0-alpha04, se migró androidx.health:health-connect-client a androidx.health.connect:connect-client. Si deseas obtener versiones anteriores de Health Connect, visita la página de androidx.health.

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.

Nuevas funciones

  • Se incluyeron los registros de depuración opcionales integrados para las llamadas a la API (vínculo).

Cambios en APIs

  • Se cambió el nombre de los metadatos clientId a clientRecordId, de clientVersion a clientRecordVersion (vínculo).
  • El UID de metadatos ahora es más fácil de usar para los lectores y ya no es anulable (vínculo).
  • Se agregaron libras a la unidad de masa (vínculo).
  • Se cambió el nombre de DeletionChange.deleteUid por uid (vínculo).
  • Se cambió el nombre del permiso -> HealthPermission. Esto evita la ambigüedad en los permisos del framework de Android (vínculo).

Correcciones de errores

  • Se corrigieron problemas de regresión con la unidad de calorías incorrecta con energía (vínculo).
  • Se corrigió un problema de regresión relacionado con la agregación de pocos tipos de registro (vínculo).