Health Connect speichert und strukturiert Gesundheits- und Fitnessdaten. Außerdem wird berücksichtigt, wie verschiedene Datentypen gemessen werden. Zu diesen Datentypen gehören sofortige Herzfrequenzmessungen, die Schrittzahl im Zeitverlauf und Schlafdaten aus Sitzungen.
Es ist wichtig, zuerst zu verstehen, welche Datentypen und Berechtigungen Health Connect bietet, damit Sie die Anforderungen Ihrer App planen können. Sie müssen also Ihre Datentypen prüfen, bevor Sie Ihre Anforderungen fertigstellen können.
Datentypkategorien
Health Connect unterstützt Datentypen, die in den meisten Gesundheits- und Fitness-Apps verwendet werden, um möglichst viel Abwechslung zu bieten. Health Connect soll einen umfassenden Überblick über Gesundheits- und Fitnessdaten bieten und diese speichern. Diese Datentypen lassen sich in die folgenden Kategorien unterteilen:
- Aktivität:Hier werden alle Aktivitäten eines Nutzers erfasst. Dazu können auch Aktivitäten wie Laufen und Schwimmen gehören.
- Körpermessung:Hier werden gängige Daten zum Körper erfasst, z. B. das Gewicht und der Grundumsatz eines Nutzers.
- Zyklus-Tracking:Hier werden Menstruationszyklen und zugehörige Daten erfasst, z. B. das binäre Ergebnis eines Ovulationstests.
- Ernährung:Hier werden die Datentypen „Flüssigkeitszufuhr“ und „Ernährung“ erfasst. Ersteres gibt an, wie viel Wasser ein Nutzer mit einer einzelnen Portion zu sich nimmt. Letztere enthält optionale Felder wie Kalorien, Zucker und Magnesium.
- Schlaf:Hier werden Intervalldaten zur Dauer und Art des Schlafs eines Nutzers erfasst.
- Vitale Daten:Hier werden wichtige Informationen zur allgemeinen Gesundheit des Nutzers erfasst. Dazu gehören Daten wie Körpertemperatur, Blutzucker, Blutdruck und Sauerstoffsättigung.
Format des Datentyps
Datentypen in Health Connect werden in Objekten gespeichert, die Unterklassen von Record
sind.
Für jeden Datentyp sind Felder verknüpft, die entweder generisch wie time
und zoneOffset
oder spezifisch wie title
, count
und percentage
sind.
Für einige Felder werden einfache Typen wie „long“, „double“ oder „string“ verwendet, während für andere Felder komplexe Typen wie Enumerationen und Klassen wie Instant
und ZoneOffset
verwendet werden. Die Attribute dieser Felder können erforderlich oder optional sein. Einige Attribute sind schreibgeschützt und einige Attribute sind auf einen bestimmten Wertebereich beschränkt.
Eine vollständige Liste der verfügbaren Datentypen und ihrer Felder finden Sie in den Klassen in Jetpack.
Zusätzliche Datenattribute
Die Daten in der Health Connect API enthalten auch Metadaten-Attribute, die in der folgenden Liste beschrieben werden:
- Health Connect-ID:Jedem Datenpunkt wird beim Erstellen eine eindeutige Kennung (UID) zugewiesen. Das ist nützlich für Standardlese- und Schreibvorgänge. Weitere Informationen finden Sie unter Health Connect-ID.
- Zuletzt geändert:Dies ist der Zeitstempel der letzten Instanz, für die ein Eintrag aktualisiert wurde. Sie wird automatisch beim ersten Erstellen des Eintrags oder bei jeder Aktualisierung generiert.
- Herkunft der Daten:In Health Connect werden Informationen zur App gespeichert, aus der die Daten stammen. Sie enthält den Paketnamen dieser Quelle, der beim Erstellen automatisch hinzugefügt wird.
- Gerät:In Health Connect werden Informationen zum Gerät gespeichert, von dem die Daten stammen. Sie enthält den Hersteller und das Modell des Geräts, für das Sie den Wert manuell angeben.
- Client-ID:Health Connect stellt Client-IDs bereit, damit Client-Apps Daten mit ihren eigenen IDs referenzieren können. Das hilft bei der Konfliktbehebung und vereinfacht die Synchronisierung. Dieser Wert wird manuell in den Eintrag eingetragen.
- Version des Kundeneintrags:Neben der Client-ID bietet Health Connect eine Versionierung, mit der sich Änderungen bei der Datensynchronisierung besser nachvollziehen lassen. Dieser Wert wird manuell in den Eintrag eingetragen.
- Aufzeichnungsmethode:In Health Connect kannst du nachsehen, wie Daten aufgezeichnet werden. Dazu gehören Apps, die Daten passiv (automatisch) erfassen, und Nutzer, die Daten aktiv oder manuell erfassen.
Health Connect-ID
Health Connect weist neu eingefügten Datenobjekten eindeutige Kennungen (UIDs) zu, mit denen sie identifiziert und von anderen unterschieden werden können. Health Connect-IDs sind nützlich für Lese- oder Schreibanfragen. Health Connect-IDs sind nicht mit Client-IDs identisch. Client-IDs werden von einer Client-App zugewiesen, während Health Connect ausschließlich Health Connect-IDs zuweist.
Beachten Sie bei der Arbeit mit Health Connect-IDs Folgendes:
- Sitzungen haben eine einzelne Health Connect-ID, aber Daten innerhalb von Sitzungen haben eigene Health Connect-IDs.
- Health Connect-IDs sind nicht mit Zeitstempeln verknüpft oder verwandt.
- Bei einigen Anwendungsfällen muss während eines Workflows möglicherweise eine bestimmte Health Connect-ID gespeichert werden. Beispielsweise ist eine bestimmte ID erforderlich, um die Dateneingabe abzurufen und einem Nutzer anzuzeigen, die er gerade protokolliert hat.
Zeit in Health Connect
Für alle Daten, die in Health Connect geschrieben werden, müssen die Informationen zum Zeitzonenoffset angegeben werden. Wenn Sie den Zeitzonenoffset angeben, können Apps die Daten lesen und in ziviler Zeit darstellen. Die bürgerliche Zeit ist die lokale und für den Nutzer relevante Zeit, aber nicht unbedingt die koordinierte Weltzeit (UTC).
In seltenen Fällen ist der Zeitzonenoffset möglicherweise nicht verfügbar. In Android 14 (API-Level 34) legt Health Connect den Zeitzonenoffset basierend auf der Standardzeitzone des Geräts fest. Unter Android 13 und niedrigeren Versionen (API-Level 33 und niedriger) ist es möglich, Daten in Health Connect zu schreiben, ohne Informationen zum Zeitzonenoffset anzugeben. Dies sollte nach Möglichkeit vermieden werden.
Uhrzeit und Zeitzone
Wenn Sie beim Schreiben von Daten Informationen zum Zeitzonenoffset angeben, werden beim Lesen von Daten in Health Connect Informationen zur Zeitzone bereitgestellt. In bestimmten Situationen funktioniert das jedoch nicht, z. B. wenn der Zeitzonenoffset nicht angegeben ist. Ihre App muss mit beiden Arten von Daten umgehen können, und zwar auf eine Weise, die für Ihre spezifischen Umstände sinnvoll ist.
Berechtigungen
Bevor Berechtigungen angefordert werden, müssen sie in Ihrem Manifest deklariert werden. In den folgenden Tabellen finden Sie eine vollständige Zuordnung der Datentypen und ihrer Berechtigungen.
Für 1.0.0-alpha10 und höher
Datensatztyp | Erklärung zu Lese- und Schreibberechtigungen |
---|---|
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 |
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 |
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 |
Strecke |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
Trainingseinheit |
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 |
Höhe |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Ausreichend Flüssigkeit zu sich nehmen |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
Zwischenblutung |
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 |
Ernährung |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
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 |
PlannedExercise |
android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE |
Stromversorgung |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
Ruhepuls |
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 |
SkinTemperature |
androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Geschwindigkeit |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
SchritteKadenz |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Schritte |
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 |
Gewicht |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Für 1.0.0-alpha09 und niedriger
Datensatztyp | Erklärung zu Lese- und Schreibberechtigungen |
---|---|
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 |
Blutzucker |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
Blutdruck |
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 |
Strecke |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
Trainingseinheit |
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 |
Höhe |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Ausreichend Flüssigkeit zu sich nehmen |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
Zwischenblutung |
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 |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
Sauerstoffsättigung |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Stromversorgung |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
Ruhepuls |
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 |
Geschwindigkeit |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
SchritteKadenz |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Schritte |
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 |
Gewicht |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
Datentypen und Berechtigungen prüfen
Nachdem Sie Ihre Datentypen und Berechtigungen geplant haben, können Sie sie während der Entwicklung implementieren.
Prüfen Sie vor dem Hochladen Ihrer App in den Play Store noch einmal die Liste der Datentypen und Berechtigungen, die für Ihre App erforderlich sind. So können Sie die Datennutzung Ihrer App korrekt angeben.
Wenn Sie Ihre App für die Veröffentlichung im Play Store vorbereiten, deklarieren Sie den Zugriff auf die Health Connect-Datentypen, die Ihre App verwendet. Andernfalls wird Nutzern möglicherweise eine Fehlermeldung angezeigt, dass Ihre App nicht auf die Health Connect-Datentypen zugreifen kann, da dafür eine spezielle Genehmigung erforderlich ist.