Planifica y revisa los tipos de datos de Health Connect

Health Connect almacena y estructura los datos de salud y actividad física. También considera para medir los distintos tipos de datos. Entre estos tipos de datos, se incluyen los siguientes: mediciones realizadas de inmediato, recuento de pasos realizado a lo largo del tiempo y datos de sueño tomados en las sesiones.

Es importante comprender primero qué tipos de datos y permisos Conecta las ofertas para que puedas planificar los requisitos de tu app. De esta forma, que deberás revisar antes de finalizar los requisitos.

Categorías de tipos de datos

Health Connect admite los tipos de datos que se usan en la mayoría de los sistemas de salud y fitness para ofrecer la mayor variedad posible. Health Connect tiene como objetivo ofrecer vista integral y almacenamiento de datos de salud y actividad física. Estos tipos de datos en las siguientes categorías:

  • Actividad: Captura cualquier actividad que realice el usuario. Puede incluir actividades de salud y fitness, como correr, nadar y dormir.
  • Medidas corporales: Captura datos comunes relacionados con el cuerpo, como el siguiente el peso de un usuario y su tasa metabólica basal.
  • Seguimiento del ciclo: Registra los ciclos menstruales y los datos relacionados, como el resultado binario de una prueba de ovulación.
  • Nutrición: Captura los tipos de datos de hidratación y nutrición. El anterior representa la cantidad de agua que consume un usuario en una sola bebida. Esta última incluye campos opcionales como calorías, azúcar y magnesio.
  • Sueño: Captura los datos en intervalos relacionados con la duración y el tipo de sueño de un usuario.
  • Datos vitales: Registra información esencial sobre la salud general del usuario. Incluye datos como temperatura corporal, glucemia y sangre presión y saturación de oxígeno en sangre.

Formato de tipo de datos

Los tipos de datos de Health Connect se almacenan en objetos que son subclases de Record

Para cada tipo de datos, hay campos asociados que son genéricos, como time y zoneOffset, o bien específicos como title, count y percentage. Algunos campos usan tipos simples, como long, double o string, mientras que otros usan tipos complejos, como enumeraciones y clases, como Instant y ZoneOffset Los atributos de estos campos pueden ser obligatorios o opcional. Algunos atributos son de solo lectura y otros están fijados a un un rango específico de valores.

Para obtener la lista completa de los tipos de datos disponibles y sus campos, consulta las clases en Jetpack.

Atributos de datos adicionales

Los datos de la API de Health Connect también incluyen atributos de metadatos que se describen en la siguiente lista:

  • ID de Health Connect: A cada dato se le asigna un identificador único (UID) cuando lo creas. Esto es útil para operaciones estándar de lectura y escritura. Consulta ID de Health Connect para obtener más detalles.
  • Hora de última modificación: Indica la marca de tiempo de la última instancia en un registro. tenga una actualización. Se genera automáticamente la primera vez que se crea el o en cada actualización.
  • Origen de los datos: Health Connect almacena información sobre la app en la que se encuentra de dónde provienen los datos. Contiene el nombre del paquete de ese origen, que es automáticamente después de su creación.
  • Dispositivo: Health Connect almacena información sobre el dispositivo del que provienen los datos. Contiene el fabricante y el modelo del dispositivo, que proporcionar el valor manualmente.
  • ID de cliente: Health Connect proporciona IDs de cliente para que las apps cliente puedan hacer referencia a los datos con sus propios IDs, lo que ayuda con la resolución de conflictos y facilita la sincronización. Esto se suministra al registro de forma manual.
  • Versión del registro del cliente: Junto con el ID de cliente, Health Connect proporciona y el control de versiones para facilitar el seguimiento de los cambios durante la sincronización de datos. Esto se suministra al registro de forma manual.
  • Método de grabación: Health Connect te permite comprender cómo se registran los datos. Entre estos métodos, se incluyen las apps que registran datos de forma pasiva (automáticamente) y los usuarios registrando datos de forma activa o manual.

ID de Health Connect

Health Connect asigna identificadores únicos (UID) a los objetos de datos insertados recientemente. que identifican objetos de datos y los distinguen de otros. IDs de Health Connect son útiles en solicitudes de lectura o escritura. Los IDs de Health Connect no son idénticos IDs de cliente. Una app cliente asigna IDs de cliente, mientras que Health Connect exclusivamente asigna IDs de Health Connect.

Ten en cuenta las siguientes notas cuando trabajes con IDs de Health Connect:

  • Las sesiones tienen un solo ID de Health Connect, pero los datos en ellas tienen su propios IDs de Health Connect.
  • Los IDs de Health Connect no están vinculados ni relacionados con marcas de tiempo.
  • Es posible que algunos casos de uso requieran almacenar un ID de Health Connect específico durante un flujo de trabajo. Por ejemplo, se requiere un ID específico para recuperar y mostrar a una usuario la entrada de datos que acaba de registrar.

La hora en Health Connect

Todos los datos que se escriban en Health Connect deben especificar la información de desfase de zona. Especificar el desplazamiento de zona permite que las apps lean los datos para representarlos en hora civil. La hora civil es la hora local y relevante para el usuario, pero no necesariamente en la hora universal coordinada (UTC).

En muy pocas circunstancias, el desplazamiento de zona puede no estar disponible. Cuándo ocurre En Android 14 (nivel de API 34), Health Connect establece el desplazamiento de zona en función del la zona horaria predeterminada del sistema del dispositivo. En Android 13 y versiones anteriores (nivel de API 33 y versiones anteriores), es posible escribir en Health Connect sin especificar cualquier información de desfase de zona, que debe evitarse siempre que sea posible.

Configuración de hora y zona

Especificar la información de desfase de zona mientras se escriben datos permite contar con información de zona horaria cuando se leen datos en Health Connect. Sin embargo, es posible que no lo haga. en ciertas situaciones, como cuando no se proporciona el desplazamiento de zona. Tu app debe estar preparada para manejar ambos tipos de datos de una manera que tenga sentido en tus circunstancias específicas.

Permisos

Antes de solicitar permisos, tu app debe declararlos en el manifiesto. Consulta las siguientes tablas para ver la asignación completa de los tipos de datos y su permisos.

Para 1.0.0-alpha10 y versiones posteriores

Tipo de clase de registro Declaración de permisos de lectura y escritura
ActiveCaloriesBurned android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
BasalBodyTemperature android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
BasalMetabolicRate android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE
BloodGlucose android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE
BloodPressure android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE
BodyFat android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT
BodyTemperature android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE
BodyWaterMass android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS
BoneMass android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS
CervicalMucus android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS
CyclingPedalingCadence android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
Distance android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
ElevationGained android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED
ExerciseSession android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
FloorsClimbed android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED
HeartRate android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
HeartRateVariabilityRmssd android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY
Height android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
Hydration android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION
IntermenstrualBleeding android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
LeanBodyMass android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS
MenstruationFlow android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
MenstruationPeriod android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
Nutrition android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
OvulationTest android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST
OxygenSaturation android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
Power android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
RespiratoryRate android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE
RestingHeartRate android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
SexualActivity android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
Speed android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
Steps android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
TotalCaloriesBurned android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED
Vo2Max android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX
Weight android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT
WheelchairPushes android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

Para 1.0.0-alpha09 y versiones anteriores

Tipo de clase de registro Declaración de permisos de lectura y escritura
ActiveCaloriesBurned androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE
BasalBodyTemperature androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE
BasalMetabolicRate androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE
BloodGlucose androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE
BloodPressure androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE
BodyFat androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE
BodyTemperature androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE
BodyWaterMass androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE
BoneMass androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE
CervicalMucus androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE
CyclingPedalingCadence androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE
Distance androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE
ElevationGained androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE
ExerciseSession androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE
FloorsClimbed androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
HeartRate androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE
HeartRateVariabilityRmssd androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE
Height androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
Hydration androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE
IntermenstrualBleeding androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE
LeanBodyMass androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE
MenstruationFlow androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE
Nutrition androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE
OvulationTest androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE
OxygenSaturation androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE
Power androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
RespiratoryRate androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE
RestingHeartRate androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE
SexualActivity androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE
SleepSession androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE
Speed androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
Steps androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
Vo2Max androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE
Weight androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

Revisa tus tipos de datos y permisos

Ahora que planificaste tus tipos de datos y permisos, puedes implementar durante el desarrollo.

Cuando revises la app antes de subirla a Play Store, vuelve a verificarla la lista de tipos de datos y permisos que requiere tu app. Esto te permite declarar con precisión el uso de datos de tu app

Cuando te preparas para publicar tu app en Play Store, sigue estos pasos: declara el acceso a los tipos de datos de Health Connect que tu app que la API usa. De lo contrario, es posible que se muestre un mensaje de error acceder a los tipos de datos de Health Connect porque requieren aprobación.