Health Connect-Datentypen planen und prüfen

Health Connect speichert und strukturiert Gesundheits- und Fitnessdaten. Außerdem werden die wie unterschiedliche Datentypen gemessen werden. Zu diesen Datentypen gehören Herzfrequenz Sofort durchgeführte Messungen, erfasste Schrittzahl im Laufe der Zeit und Schlafdaten in Sitzungen.

Es ist wichtig zu wissen, welche Datentypen und Berechtigungen Verknüpfen Sie Angebote, um die Anforderungen Ihrer App zu planen. Damit haben Sie Ihre Datentypen überprüfen müssen, bevor Sie Ihre Anforderungen endgültig festlegen können.

Datentypkategorien

Health Connect unterstützt Datentypen, die für die meisten Gesundheits- und Fitnessdaten verwendet werden Apps so viel Vielfalt wie möglich bieten. Health Connect möchte umfassende Übersicht und Speicherung von Gesundheits- und Fitnessdaten. Diese Datentypen fallen in die folgenden Kategorien ein:

  • Aktivität:Hier werden alle Aktivitäten eines Nutzers erfasst. Er kann Folgendes enthalten: Gesundheits- und Fitnessaktivitäten wie Laufen, Schwimmen und Schlaf.
  • Körpermaße: Hier werden allgemeine Daten zum Körper erfasst, darunter: Gewicht und Grundumsatz einer nutzenden Person.
  • Zyklustracking: Erfasst Menstruationszyklen und damit verbundene Datenpunkte, wie das binäre Ergebnis eines Ovulationstests.
  • Ernährung:Hier werden die Datentypen für Flüssigkeitszufuhr und Ernährung erfasst. Erster zeigt an, wie viel Wasser ein Nutzer in einem einzelnen Getränk zu sich nimmt. Letzteres optionale Felder wie Kalorien, Zucker und Magnesium enthält.
  • Schlaf:Erfasst Intervalldaten in Bezug auf die Länge und den Typ des Nutzers. Schlaf.
  • Vitals:Hier werden wichtige Informationen zur allgemeinen Gesundheit. Dazu gehören Daten wie Körpertemperatur, Blutzucker, Blut und die Sauerstoffsättigung des Blutes.

Datentypformat

Datentypen in Health Connect werden in Objekten gespeichert, die abgeleitete Klassen von Record

Zu jedem Datentyp gibt es zugehörige Felder, die entweder allgemein sind, z. B. time und zoneOffset oder spezifisch wie title, count und percentage. Für einige Felder werden einfache Typen wie „long“, „double“ oder „string“ verwendet, in anderen wie Aufzählungen und Klassen wie Instant und ZoneOffset Die Attribute dieser Felder können erforderlich oder optional. Einige Attribute sind schreibgeschützt, andere sind an ein Bereich von Werten.

Eine vollständige Liste der verfügbaren Datentypen und ihrer Felder finden Sie in den Klassen in Jetpack

Zusätzliche Datenattribute

Daten in der Health Connect API enthalten auch Metadatenattribute wie in der folgenden Liste beschrieben:

  • Health Connect-ID:Jedem Datenpunkt wird eine eindeutige Kennung zugewiesen. (UID) fest. Dies ist nützlich für standardmäßige Lese- und Schreibvorgänge. Weitere Informationen findest du unter Health Connect-ID.
  • Zuletzt geändert: Zeitstempel der letzten Instanz eines Eintrags hat ein Update. Sie wird automatisch bei der ersten Erstellung des oder bei jeder Aktualisierung.
  • Datenquelle:Health Connect speichert Informationen zur App, in der die Daten stammen. Sie enthält den Paketnamen dieses Ursprungs, also automatisch hinzugefügt.
  • Gerät:Health Connect speichert Informationen zu dem Gerät, auf dem die Daten stammen. Sie enthält den Hersteller und das Modell des Geräts, den Wert manuell eingeben.
  • Client-ID:Health Connect stellt Client-IDs bereit, damit Client-Apps verweisen auf Daten mit ihren eigenen IDs, was bei der Konfliktlösung vereinfacht die Synchronisierung. Sie wird dem Datensatz manuell bereitgestellt.
  • Version des Client-Eintrags:Zusammen mit der Client-ID stellt Health Connect Versionsverwaltung, um Änderungen während der Datensynchronisierung nachzuverfolgen. Diese Daten werden an den Datensatz manuell.
  • Aufzeichnungsmethode:Health Connect zeigt Ihnen, wie Daten aufgezeichnet werden. Dazu gehören Apps, die Daten passiv (automatisch) aufzeichnen, und Nutzer oder manuell aufzeichnen.

Health Connect-ID

Health Connect weist neu eingefügten Datenobjekten eindeutige IDs (UIDs) zu. die Datenobjekte identifizieren und von anderen unterscheiden. Health Connect-IDs in Lese- oder Schreibanfragen nützlich sind. Health Connect-IDs sind nicht identisch mit Client-IDs Eine Client-App weist Client-IDs zu, während Health Connect ausschließlich Client-IDs zuweist weist Health Connect-IDs zu.

Beachten Sie die folgenden Hinweise, wenn Sie mit Health Connect-IDs arbeiten:

  • Sitzungen haben nur eine Health Connect-ID, die Daten innerhalb von Sitzungen eigene Health Connect-IDs.
  • Health Connect-IDs sind nicht mit Zeitstempeln verknüpft.
  • In einigen Anwendungsfällen muss während einen Workflow. Beispielsweise ist eine bestimmte ID erforderlich, um einem den Dateneintrag, den er gerade protokolliert hat.

Zeit in Health Connect

Für alle in Health Connect geschriebenen Daten müssen Informationen zum Zonenversatz angegeben sein. Durch Angabe des Zonen-Offsets können Anwendungen die Daten lesen, um sie in amtliche Zeit. Die zivile Zeit ist die Zeit, die lokal und für den Nutzer relevant ist. aber nicht unbedingt in koordinierter Weltzeit (UTC).

In seltenen Fällen ist das Zonen-Offset möglicherweise nicht verfügbar. Wann dies der Fall ist In Android 14 (API-Level 34) legt Health Connect das Zonen-Offset basierend auf dem System-Standardzeitzone des Geräts. Android 13 und niedriger (API-Level 33 und niedriger), können Sie auch ohne Angabe von Zonen-Offset-Informationen, die nach Möglichkeit vermieden werden sollten.

Einstellung für Uhrzeit und Zeitzone

Zeitzone wird bereitgestellt, wenn beim Schreiben von Daten Informationen zum Zonenversatz angegeben werden beim Lesen von Daten in Health Connect. Es kann jedoch passieren, dass in bestimmten Situationen, z. B. wenn kein Zonenversatz angegeben ist. Ihre App Er muss darauf vorbereitet sein, mit beiden Arten von Daten auf eine sinnvolle Weise zu umgehen. an Ihre spezifischen Umstände anzupassen.

Berechtigungen

Bevor du Berechtigungen anforderst, muss deine App diese im Manifest deklarieren . In den folgenden Tabellen finden Sie die vollständige Zuordnung von Datentypen und deren Berechtigungen.

Für 1.0.0-alpha10 und höher

Klassentyp des Eintrags Erklärung zu Lese- und Schreibberechtigung
ActiveCaloriesBurned android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
BasalKörpertemperatur 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
Blutzucker android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE
Blutdruck 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
Körpertemperatur android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE
KörperWasserMasse android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS
Knochenmasse 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
Radfahren, Radfahren android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
Strecke android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
Höhenunterschied android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED
Trainingseinheit android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
Bewältigte Etagen android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED
Herzfrequenz android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
HerzfrequenzVariabilityRmssd android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABLE (Android.permission.health.WRITE_HEART_RATE_VARIABILITY)
Höhe android.permission.health.READ_HEIGHT.
Android.permission.health.WRITE_HEIGHT.
Flüssigkeitszufuhr android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION
Zwischenblutungen 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 (
Zeitraum android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION (
Ernährung android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
Ovulationstest android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST
Sauerstoffsättigung android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
Stromversorgung android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
Atemfrequenz android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE
Ruheherzfrequenz android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
Sexuelle Aktivitäten android.permission.health.READ_SEXUAL_AKTIVITÄT
android.permission.health.WRITE_SEXUAL_AKTIVITÄT
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
Geschwindigkeit android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
Schrittfolge android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
Schritte android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
Verbrannte Kalorien insgesamt 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.
Gewicht android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT
Rollstuhlschub android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

Für 1.0.0-alpha09 und niedriger

Klassentyp des Eintrags Erklärung zu Lese- und Schreibberechtigung
ActiveCaloriesBurned androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE (Androidx.health.permission.ActiveCaloriesBurned.WRITE)
BasalKörpertemperatur androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE (
BasalMetabolicRate androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE (
Blutzucker androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE
Blutdruck androidx.health.permission.BloodPressure.READ (Blutdruck.READ)
androidx.health.permission.BloodPressure.WRITE (
BodyFat androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE (
Körpertemperatur androidx.health.permission.BodyTemperature.READ (Körpertemperatur.READ)
androidx.health.permission.BodyTemperature.WRITE (Eigene Körpertemperatur.WRITE)
KörperWasserMasse androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE
Knochenmasse androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE (
CervicalMucus androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE (
Radfahren, Radfahren androidx.health.permission.CyclingPedalingKadenz.READ
androidx.health.permission.CyclingPedalingKadenz.WRITE
Strecke androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE (
Höhenunterschied androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE (
Trainingseinheit androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE (
Bewältigte Etagen androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
Herzfrequenz androidx.health.permission.HeartRate.READ
androidx.health.permission.Herzfrequenz.WRITE
HerzfrequenzVariabilityRmssd androidx.health.permission.HeartRateVariabilityRmssd.READ (Lesen)
androidx.health.permission.HeartRateVariabilityRmssd.WRITE (HerzrateVariabilityRmssd.WRITE)
Höhe androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE (
Flüssigkeitszufuhr androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE (Androidx.health.permission.Hydration.WRITE)
Zwischenblutungen 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
Ernährung androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE (Androidx.health.permission.Nutrition.WRITE)
Ovulationstest androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE (Androidx.health.permission.OvulationTest.WRITE)
Sauerstoffsättigung androidx.health.permission.Sauerstoffsättigung.READ
androidx.health.permission.OxygenSaturation.WRITE (Sauerstoffsättigung)
Stromversorgung androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
Atemfrequenz androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE (RespiratoryRate.WRITE)
Ruheherzfrequenz androidx.health.permission.Ruheherzfrequenz.READ
androidx.health.permission.Ruheherzfrequenz.WRITE
Sexuelle Aktivitäten androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE
SleepSession androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE (
Geschwindigkeit androidx.health.permission.Speed.READ.
androidx.health.permission.Speed.WRITE.
Schrittfolge androidx.health.permission.StepsCadence.READ (Androidx.health.permission.StepsCadence.READ)
androidx.health.permission.StepsCadence.WRITE
Schritte androidx.health.permission.Steps.READ ( androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE (Androidx.health.permission.Steps.WRITE)
Verbrannte Kalorien insgesamt androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE (GesamtkalorienBurned.WRITE)
Vo2Max androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE (Androidx.health.permission.Vo2Max.WRITE)
Gewicht androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE (
Rollstuhlschub androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.RollchairPushes.WRITE (

Datentypen und Berechtigungen prüfen

Nachdem Sie nun die Datentypen und Berechtigungen geplant haben, können Sie sie während der Entwicklung.

Wenn Sie Ihre App vor dem Hochladen in den Play Store überprüfen, Die Liste der Datentypen und Berechtigungen, die Ihre App benötigt. So können Sie Sie müssen die Datennutzung Ihrer App korrekt deklarieren.

Wenn Sie die Veröffentlichung Ihrer App im Play Store vorbereiten, den Zugriff auf die Health Connect-Datentypen deklarieren, die Ihre App verwendet werden. Andernfalls erhalten Nutzer möglicherweise eine Fehlermeldung, kann nicht auf Health Connect-Datentypen zugreifen, da für diese spezielle Genehmigung.