Health Connect speichert und strukturiert Gesundheits- und Fitnessdaten. Es berücksichtigt auch, wie verschiedene Datentypen gemessen werden. Zu diesen Datentypen gehören sofort Herzfrequenzmessungen, die im Zeitverlauf ermittelte Schrittzahl und Schlafdaten in Sitzungen.
Du solltest zuerst wissen, welche Datentypen und Berechtigungen Health Connect bietet, damit du die Anforderungen deiner App planen kannst. Daher müssen Sie Ihre Datentypen überprüfen, bevor Sie Ihre Anforderungen festlegen können.
Datentypkategorien
Health Connect unterstützt Datentypen, die in den meisten Gesundheits- und Fitness-Apps verwendet werden, um so viel Vielfalt wie möglich zu bieten. Health Connect zielt darauf ab, eine umfassende Ansicht und Speicherung von Gesundheits- und Fitnessdaten zu ermöglichen. Diese Datentypen fallen in die folgenden Kategorien:
- Aktivität:Alle Aktivitäten eines Nutzers werden erfasst. Sie kann Gesundheits- und Fitnessaktivitäten wie Laufen, Schwimmen und Schlafen umfassen.
- Körpermaße:Hiermit werden allgemeine Körperdaten erfasst, z. B. das Gewicht eines Nutzers und sein Grundumsatz.
- Zyklustracking:Hiermit werden Menstruationszyklen und zugehörige Datenpunkte erfasst, z. B. das binäre Ergebnis eines Ovulationstests.
- Ernährung:Hiermit werden Datentypen für Flüssigkeitszufuhr und Ernährung erfasst. Die erste gibt an, wie viel Wasser ein Nutzer in einem einzelnen Getränk konsumiert. Letzteres umfasst optionale Felder wie „Kalorien“, „Zucker“ und „Magnesium“.
- Schlaf:Damit werden Intervalldaten zur Länge und Art des Schlafs des Nutzers erfasst.
- Vitals (Vitals): Enthält wichtige Informationen zum Allgemeinzustand des Nutzers. Sie umfassen Daten wie Körpertemperatur, Blutzucker, Blutdruck und Sauerstoffsättigung im Blut.
Datentypformat
Datentypen in Health Connect werden in Objekten gespeichert, die abgeleitete Klassen von Record
sind.
Für jeden Datentyp gibt es zugehörige Felder, die entweder generisch wie time
und zoneOffset
oder spezifisch sind, wie title
, count
und percentage
.
Einige Felder verwenden einfache Typen wie „long“, „double“ oder „string“, während andere komplexe Typen wie Aufzählungen und Klassen wie Instant
und ZoneOffset
verwenden. Die Attribute dieser Felder können erforderlich oder optional sein. Einige Attribute sind schreibgeschützt, andere sind an einen bestimmten Wertebereich gebunden.
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, die in der folgenden Liste beschrieben werden:
- Health Connect-ID:Jedem Datenpunkt wird bei der Erstellung eine eindeutige Kennung (UID) zugewiesen. Dies ist nützlich für Standard-Lese- und Schreibvorgänge. Weitere Informationen finden Sie unter Health Connect-ID.
- Zeit der letzten Änderung:Dadurch wird der Zeitstempel für die letzte Instanz angegeben, für die ein Eintrag aktualisiert wurde. Sie wird bei der ersten Erstellung des Datensatzes oder bei jeder Aktualisierung automatisch generiert.
- Datenquelle:Health Connect speichert Informationen zu der App, aus der die Daten stammen. Sie enthält den Paketnamen dieses Ursprungs, der beim Erstellen automatisch hinzugefügt wird.
- Gerät:Health Connect speichert Informationen zu dem Gerät, von dem die Daten stammen. Sie enthält den Hersteller und das Modell des Geräts, den Sie manuell eingeben.
- Client-ID:Health Connect stellt Client-IDs bereit, damit Client-Apps mit ihren eigenen IDs auf Daten verweisen können. Dies hilft bei der Konfliktlösung und vereinfacht die Synchronisierung. Sie wird dem Eintrag manuell übergeben.
- Version der Clientdaten:Zusammen mit der Client-ID bietet Health Connect eine Versionsverwaltung, die Ihnen das Nachverfolgen von Änderungen während der Datensynchronisierung erleichtert. Diese wird manuell im Datensatz angegeben.
- Aufzeichnungsmethode:Mit Health Connect können Sie nachvollziehen, wie Daten aufgezeichnet werden. Zu diesen Methoden gehören Anwendungen, die Daten passiv (automatisch) erfassen, und Nutzer, die Daten aktiv oder manuell aufzeichnen.
Health Connect-ID
Health Connect weist neu eingefügten Datenobjekten eindeutige Kennungen (UIDs) zu, die Datenobjekte identifizieren und von anderen unterscheiden. Health Connect-IDs sind in Lese- oder Schreibanfragen hilfreich. Health Connect-IDs sind nicht mit Client-IDs identisch. Eine Client-App weist Client-IDs zu, während Health Connect ausschließlich Health Connect-IDs zuweist.
Beachten Sie die folgenden Hinweise bei der Arbeit mit Health Connect-IDs:
- Sitzungen haben eine einzelne Health Connect-ID, aber Daten innerhalb von Sitzungen haben ihre eigene Health Connect-ID.
- Health Connect-IDs sind nicht mit Zeitstempeln verknüpft.
- In einigen Anwendungsfällen muss während eines Workflows möglicherweise eine bestimmte Health Connect-ID gespeichert werden. Beispielsweise ist eine bestimmte ID erforderlich, um den gerade protokollierten Dateneintrag abzurufen und einem Nutzer anzuzeigen.
Zeit in Health Connect
Alle in Health Connect geschriebenen Daten müssen die Zonen-Offset-Informationen angeben. Wenn Sie den Zonen-Offset angeben, können Apps die Daten lesen, um sie in Bürgerzeit darzustellen. Zivile Zeit ist die Ortszeit, die für den Nutzer relevant ist, jedoch nicht unbedingt in koordinierter Weltzeit (UTC).
In seltenen Fällen kann es vorkommen, dass der Zonenversatz nicht verfügbar ist. In diesem Fall legt Health Connect den Zonenversatz in Android 14 (API-Level 34) anhand der Standardzeitzone des Geräts fest. In Android 13 und niedrigeren Versionen (API-Level 33 und niedriger) ist es möglich, in Health Connect zu schreiben, ohne Informationen zum Zonenoffset anzugeben. Dies muss nach Möglichkeit vermieden werden.
Zeit- und Zoneneinstellung
Wenn Sie beim Schreiben von Daten Zonen-Offset-Informationen angeben, werden beim Lesen von Daten in Health Connect Zeitzoneninformationen bereitgestellt. Dies kann jedoch in bestimmten Situationen fehlschlagen, z. B. wenn kein Zonenoffset angegeben ist. Ihre Anwendung muss darauf vorbereitet sein, mit beiden Arten von Daten umzugehen, und zwar in einer Weise, die für Ihre speziellen Umstände sinnvoll ist.
Berechtigungen
Bevor du Berechtigungen anfragen kannst, muss deine App diese zuerst im Manifest deklarieren. In den folgenden Tabellen finden Sie eine vollständige Zuordnung der Datentypen und ihrer Berechtigungen.
Für 1.0.0-alpha10 und höher
Klassentyp aufzeichnen | Erklärung zu Lese- und Schreibberechtigungen |
---|---|
Aktiv verbrannte Kalorien |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
GrundKörpertemperatur |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
Grundumsatz |
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, Trittfrequenz |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Strecke |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
Gewonnene Höhe |
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 Stockwerke |
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 |
HerzfrequenzvariabilitätRmssd |
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 |
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 |
MenstruationPeriod |
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_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Geschwindigkeit |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
Schrittfrequenz |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Schritte |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Summe verbrannte Kalorien |
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 |
Rollstuhlschübe |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Für 1.0.0-alpha09 und niedriger
Klassentyp aufzeichnen | Erklärung zu Lese- und Schreibberechtigungen |
---|---|
Aktiv verbrannte Kalorien |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
GrundKörpertemperatur |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
Grundumsatz |
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 |
Körpertemperatur |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.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, Trittfrequenz |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Strecke |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
Gewonnene Höhe |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
Trainingseinheit |
androidx.health.permission.ÜbungSession.READ
androidx.health.permission.TrainingSession.WRITE |
Bewältigte Stockwerke |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
Herzfrequenz |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HerzfrequenzvariabilitätRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.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 |
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 |
Ovulationstest |
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 |
Atemfrequenz |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
Ruheherzfrequenz |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.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 |
Schrittfrequenz |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Schritte |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
Summe verbrannte Kalorien |
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 |
Rollstuhlschübe |
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.
Bevor du deine App in den Play Store hochlädst, solltest du die Liste der Datentypen und Berechtigungen prüfen, die für deine App erforderlich sind. So können Sie die Datennutzung Ihrer App genau angeben.
Nachdem Sie Ihre App im Play Store veröffentlicht haben, erhalten Sie möglicherweise eine Fehlermeldung, dass Ihre App nicht auf die Health Connect-Datentypen zugreifen kann, da diese eine Sondergenehmigung erfordern. In diesem Fall müssen Sie den Zugriff auf den Datentyp über das Formular zur Erklärung von Entwicklern beantragen. Weitere Informationen zu diesem Prozess findest du unter Zugriff auf Health Connect-Datentypen anfordern.