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
24 de octubre de 2022 - - 1.0.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.0.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.0.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 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.0

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. Se 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 y, en su lugar, 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.