Health Connect
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.
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
yHealthPermission.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
yandroidx.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
enHealthConnectClient.getSdkStatus()
cuandoHealthConnectManager
es nulo en U+ 5802f. - Se agregaron anulaciones de
toString
aRecordClasses
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 deIllegalStateException
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
- Solo para Java: Cambia el nombre del campo
getHasMore()
enChangesResponse
ahasMore()
. (I80695). - Alineación de la verificación de
HealthPermissionsRequestContract#createIntent
en todas las versiones de Android El contrato verifica que todos los permisos sean relacionados con la salud. (I143fc).
Correcciones de errores
- Se corrigió la excepción que se generaba cuando se creaba
ExerciseSessionRecord
con unExerciseRoute
que contiene una lista vacía de ubicaciones. (I45c16). - Se actualizó la documentación y el código de muestra de
SleepSessionRecord
para leer sesiones de sueño. (Idf0de).
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
aExerciseSessionRecord
- Se agregó
ExerciseRouteRequestContract
- Se agregó
Cambios en la API
- Se agregaron
ExerciseRouteResult
y sus subclases:Data
,NoData
yConsentRequiredStates
. - 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
yHealthPermissionsRequestContract
. (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
yExerciseSegment
aExerciseSessionRecord
.
- Se agregaron varias fases del sueño a
- 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
yHealthConnectClient#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
oEXERCISE_TYPE_CALISTHENICS
(I7291c). - Se agregó la nueva API de
sdkStatus()
que combina las dos APIs obsoletas deisSdkSupported()
yisProviderAvailable()
(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
ySwimmingStrokesRecord
ya no se admiten comoRecordTypes
. Ya no se pueden escribir ni leer desdeHealthConnect
. Quita cualquier referencia a estos tipos de datos de la integración deHealthConnect
(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
yMenstruationPeriodRecord
.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
yHeartRateVariabilityRmssdRecord
como nuevos tipos de registro compatibles (Ifd58f). - Se quitó
HipCircumferenceRecord
,WaistCircumferenceRecord
, según se admiteRecordTypes
(I62fb9). - Se cambió
MenstruationFlowRecord.flow
destringdef
aintdefs
(I0369f). - Se cambiaron los campos de registro de tipo de enumeración de
Strings
aIntegers
para lograr un mejor rendimiento (I3b295). - Se cambiaron los campos de tipo de enumeración
ExerciseSession
,ExerciseRepetitions
ySleepStage
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 deStringDefs
a IntDefs (I3ac51). - La enumeración
StringDef
deDeviceTypes
ahora se trasladó aIntDefs
en Dispositivo (I3abf3). - Se agregó
HealthConnectClient.isApiSupported()
, que muestra "falso" como valor en versiones de SDK sin implementaciones compatibles. Se cambió el nombre deHealthConnectClient.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
yZoneOffset
siempre se colocan al principio (Id618c). - Se cambió el nombre de
HealthConnectClient.getOrCreate#packageNames
porproviderPackageNames
(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
aMetadata.id
y se usó la terminologíarecordId
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 aPermissionController.createRequestPermissionResultContract
(Icd2fe). - Se agregó el tipo de unidad
BloodGlucose
paraBloodGlucoseRecord
(I97678). - Se cambió el nombre de
MenstruationRecord
aMenstruationFlowRecord
(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
aclientRecordId
, declientVersion
aclientRecordVersion
(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).