Formato del tipo de datos de Health Connect

Los tipos de datos en 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 específicos, como title, count y percentage. Algunos campos usan tipos básicos, 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 u opcionales. Algunos atributos son de solo lectura y otros se limitan a 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 metadatos

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 las operaciones de lectura y escritura estándar. 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 la que un registro tiene una actualización. Se genera automáticamente en la primera creación del registro y al momento de cada actualización.
  • Origen de los datos: Health Connect almacena información sobre la app de la que provienen los datos. Contiene el nombre del paquete de ese origen, que se agrega automáticamente al momento de la creación.
  • Dispositivo: Health Connect almacena información sobre el dispositivo del que provienen los datos. Contiene el fabricante y el modelo de ese dispositivo, cuyo valor proporcionas de forma manual.
  • ID de cliente: Health Connect proporciona IDs de cliente para que las apps cliente puedan consultar 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 un control de versiones para ayudar a realizar un 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. Estos métodos incluyen apps que registran datos de forma pasiva (automática) y usuarios que registran 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 los objetos de datos y los distinguen de otros. Los IDs de Health Connect son útiles en las solicitudes de lectura o escritura. Los IDs de Health Connect no son iguales a los IDs de cliente. Una app cliente asigna IDs de cliente, mientras que Health Connect asigna exclusivamente 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 dentro de ellas tienen sus propios IDs de Health Connect.
  • Los IDs de Health Connect no están relacionados ni vinculados con marcas de tiempo.
  • Es posible que algunos casos de uso requieran almacenar un ID específico de Health Connect durante un flujo de trabajo. Por ejemplo, se requiere un ID específico para recuperar y mostrarle a un 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 desfase 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 desfase de zona puede no estar disponible. Cuando esto ocurre en Android 14 (nivel de API 34), Health Connect establece el desplazamiento de zona según 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 información de desfase de zona, lo que se debe evitar siempre que sea posible.

Configuración de la hora y la 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, podría no suceder en ciertas situaciones, como cuando no se proporciona el desfase de zona. Tu app debe estar preparada para manejar ambos tipos de datos de una manera que tenga sentido en tus circunstancias específicas.