Salud
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.
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 seaSet<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ó porPermissionController.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 cambió el nombre de
- 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
ygetMetric
dejaron de estar disponibles enAggregationResult
, se agregaron los operadores contains y get (I7cc7c).- Se agregaron
OvulationTest.Result.HIGH
yOvulationTest.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 primitivasExerciseEvent
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
ydurationAtThreshold
). (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 elDataType
agregado paraSWIM_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 queprepareExercise
podía generar unConcurrentModificationException
(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ónoverrideBatchingModesForActiveExercise
(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 enExerciseConfig
(Id22e9).
Correcciones de errores
- Correcciones menores de
DataType
yExerciseUpdate
(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 APIsListenableFuture
asíncronas existentes enExerciseClient
,PassiveMonitoringClient
yMeasureClient
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 deExerciseTypeConfig
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 esHealthEvent.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 comoDoubleArray
, sino como un objetoLocationData
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
.
- La transmisión se reemplazó por
- 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 ejercicioENDING
yENDED
. Ahora se combinan conExerciseEndReason
para representar la gama completa de estados anteriores. - Se cambió el nombre de
PassiveListenerConfig
setPassiveGoals
asetDailyGoals
para reflejar mejor que solo admitimos objetivos pasivos diarios. - Ahora,
PassiveGoal
siempre esREPEATED
y se quitó elTriggerFrequency
pasivo. - Se anotaron todos los parámetros
Long
yDouble
con@FloatRange
. - Se agregó la propiedad
swimmingPoolLengthMeters
aExerciseConfig
, 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. UsaExerciseUpdate.activeDurationCheckpoint
en su lugar.- Se cambió el nombre de la API
flushExerciseAsync()
aflushAsync()
enExerciseClient
. - Se cambió el nombre de
Measure.registerCallback
porMeasure.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 esHeartRateAccuracy
). - Las propiedades que siguen el patrón
enableFoo
ahora se denominanisFooEnabled
.
- Las propiedades de distancia ahora tienen el sufijo
- Se migró de Enums.
- Los horarios representados por
Double
ahora están representados porDuration
. - Las funciones que muestran un
ListenableFuture<Void?>
ahora muestran unListenableFuture<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 mediantegetLatestAggregateMetrics()
. Ya no se admiten DataTypes deAGGREGATE_*
. - Se cambió en nombre de Events de
PassiveMonitoring
porPassiveGoals
, 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 camposPassiveMonitoringConfig
, 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.