HealthKit Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen.
Klassen
HKActivitySummary |
Fasst die Benutzeraktivität für einen bestimmten Tag zusammen. |
HKActivitySummaryQuery |
Ruft Instanzen ab HKActivitySummary , die mit einem NSPredicateübereinstimmen. |
HKActivitySummaryType |
Obect, der verwendet wird, um die Berechtigung zum Lesen HKActivitySummary von Objekten anzufordern. |
HKAnchoredObjectQuery |
Eine HKQuery , die bei ihrem ersten Aufruf das neueste Ergebnis und in nachfolgenden Aufrufen nur Daten zurückgibt, die nach dem ersten Aufruf hinzugefügt wurden. |
HKBiologicalSexObject |
Wird von GetBiologicalSex(NSError) zurückgegeben. |
HKBloodTypeObject |
Zurückgegeben von GetBloodType(NSError) |
HKCategorySample |
Ein HKSample , dessen Wert einer von einem aufgezählten Typ ist. |
HKCategoryType |
Eine HKSampleType , die derzeit nur eine Form hat: Schlafanalyse. |
HKCategoryTypeIdentifierExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKCategoryTypeIdentifierKey |
Definiert die Schlüssel zum Identifizieren HKCategoryTypevon s. Derzeit nur der einzige Schlüssel für die Schlafanalyse. |
HKCdaDocument |
Enthält die Informationen, die in XML in einem HealthKit-Speicherintegritätsdokument dargestellt werden. |
HKCdaDocumentSample |
Enthält die Informationen, die in XML in einem HealthKit-Speicherintegritätsdokument dargestellt werden. |
HKCharacteristicType |
Eine HKObjectType , die einen dauerhaften Aspekt des Benutzers angibt. |
HKCharacteristicTypeIdentifierExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKCharacteristicTypeIdentifierKey |
Definiert den Konstantennamen für ein HKCharacteristicType. |
HKClinicalRecord |
Eine Stichprobe für klinische Aufzeichnungen. |
HKClinicalType |
Ein Probentyp für einen klinischen Datensatz. |
HKClinicalTypeIdentifierExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKCorrelation |
Eine Korrelation zwischen zwei Gesundheitsdaten (z. B. Blutdruck). |
HKCorrelationQuery |
Ein HKQuery , der nur Daten zurückgibt, die mit Korrelationen gespeichert wurden. (Hinweis: Systolische und diastolische Blutdruckwerte korrelieren nicht.) |
HKCorrelationType |
Eine HKSampleType , die eine Korrelation zwischen zwei Datentypen (z. B. Blutdruck) angibt. |
HKCorrelationTypeIdentifierExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKCorrelationTypeKey |
Definiert die Formen von HKCorrelation. |
HKCumulativeQuantitySeriesSample |
Eine kumulative Datenreihe. |
HKDeletedObject |
Stellt Beispiele dar, die aus dem Speicher gelöscht wurden. |
HKDetailedCdaErrors |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKDevice |
Hardware, die HealthKit-Daten generiert oder nutzt. |
HKDevicePropertyKey |
Enthält Schlüssel, deren konstante Werte sich auf Eigenschaften eines HKDevicebeziehen. |
HKDocumentQuery |
Abfragen von Dokumenten im HealthKit-Speicher. |
HKDocumentSample |
Abstraktes HealthKit-Speicherintegritätsdokument. |
HKDocumentType |
Enthält eine Konstante, die den CDA-Dokumenttyp identifiziert. |
HKDocumentTypeIdentifierExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKErrorCodeExtensions |
Erweiterungsmethoden für die HealthKit.HKErrorCode-Enumeration. |
HKFhirResource |
Stellt eine FHIR-Ressource (Fast Healthcare Interoperability Resources) dar. |
HKFhirResourceTypeExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKFitzpatrickSkinTypeObject |
Enthält Daten vom Typ "Skin". |
HKHealthStore |
MonoTouch.HealthKit.HKHealthStore Eine Verbindung mit der systemweiten Datenbank mit integritätsbezogenen Informationen. |
HKHealthStore.Notifications |
Klasse, die Handler für Health Kit-Speicherbenachrichtigungen enthält. |
HKMetadata |
Ein Schlüssel-Wert-Speicher für verschiedene Arten von integritätsbezogenen Metadaten. |
HKMetadataKey |
Definiert die Schlüssel im HKMetadata Schlüssel-Wert-Wörterbuch. |
HKObject |
Basisklasse für HKSample, die Stichprobendaten definiert. |
HKObjectType |
Basisklasse für Datentypen, die in der Health Kit-Datenbank gespeichert werden können. |
HKObserverQuery |
Eine HKQuery , die zunächst einmal ausgeführt wird und dann automatisch ausgeführt wird, wenn der Datenbank relevante Daten hinzugefügt werden. |
HKPredicateKeyPath |
Enthält Konstanten, die Schlüssel darstellen, die Prädikatschlüsselpfade für die Auswahl von HealthKit-Werten identifizieren. |
HKQuantity |
Stellt eine messbare Menge eines bestimmten Typs von Einheit mit einem |
HKQuantitySample | |
HKQuantitySeriesSampleBuilder |
Erstellt Mengenbeispielreihen. |
HKQuantitySeriesSampleQuery |
Fragt Daten der Reihe in einem Mengenbeispiel ab. |
HKQuantityType |
Ein T:HKSampleType , der entweder ein kumulatives oder diskretes Beispiel darstellt. |
HKQuantityTypeIdentifierExtensions |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKQuantityTypeIdentifierKey |
Typen von HKQuantityType. |
HKQuery |
Basisklasse zum Abfragen von Health Kit-Datenbanken. |
HKQueryAnchor |
Stellt das neueste Beispiel dar, das von einer vorherigen Abfrage eines verankerten Objekts zurückgegeben wurde. |
HKSample |
Eine Messung der Integritätsinformationen. Die Basisklasse für HKQuantitySample und HKCategorySample. |
HKSampleQuery |
Eine HKQuery , die Daten aus der Datenbank abruft HKSampleType . |
HKSampleType |
Eine HKObject , die Daten darstellt, die zu einem bestimmten Zeitpunkt oder in einem bestimmten Zeitraum stichprobeniert werden. |
HKSeriesBuilder |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKSeriesSample |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKSeriesType |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKSource |
Ein Anbieter von Integritätsdaten, z. B. ein bestimmter Sensor oder eine bestimmte Anwendung. |
HKSourceQuery |
Klasse, die eine Abfrage für HealthKit-Daten darstellt. |
HKSourceRevision |
Umschließt HKSource, fügt Versionsinformationen hinzu. |
HKSourceRevisionInfo |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKStatistics |
Stellt grundlegende statistische Vorgänge für Integritätsinformationen bereit. |
HKStatisticsCollection |
Eine Gruppe verwandter Statistiken (die in der Regel eine Zeitreihe darstellen). |
HKStatisticsCollectionQuery |
Ein HKQuery , der eine Sammlung von Statistiken erzeugt (z. B. anzahl der Schritte pro Tag für den vorherigen Monat). |
HKStatisticsQuery |
Eine HKQuery , die grundlegende Statistiken (z. B. die Summe und den Mittelwert) für seine konstituierenden Daten berechnen kann. |
HKUnit |
Definitionen und Hilfsmethoden für die Bearbeitung von Massen-, Längen-, Volumen- und Energiemessungen. |
HKWheelchairUseObject |
Enthält eine Enumeration, die die Rollstuhlnutzung beschreibt. |
HKWorkout |
Ein HKSample , das ein körperliches Training darstellt. |
HKWorkoutBuilder |
Erstellt ein Training aus Trainingsdaten, während es hinzugefügt wird. |
HKWorkoutConfiguration |
Enthält Informationen zur Trainingskonfiguration. |
HKWorkoutEvent |
Eine Pause oder Wiederaufnahme eines Trainings. |
HKWorkoutRoute |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKWorkoutRouteBuilder |
Eine Klasse zum Hinzufügen geografischer Daten zu einem Training, wenn sich der Standort des Benutzers ändert. |
HKWorkoutRouteQuery |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKWorkoutType |
Ein HKSampleType , der ein Training darstellt. |
Enumerationen
HKAuthorizationRequestStatus |
Listet Werte auf, die angeben, wann eine App die Benutzerberechtigung für den Zugriff anfordern soll. |
HKAuthorizationStatus |
Listet die Berechtigung der App auf, Integritätsdaten zu lesen oder zu schreiben. |
HKBiologicalSex |
Listet die biologischen Geschlechter auf. |
HKBloodGlucoseMealTime |
Listet Werte auf, die angeben, ob ein Blutzuckerspiegel vor oder nach einer Mahlzeit eingenommen wurde. |
HKBloodType |
Listet bekannte Bluttypen auf. |
HKBodyTemperatureSensorLocation |
Listet die Positionen auf, an denen ein Thermometer seine Ablesung annimmt. |
HKCategoryTypeIdentifier |
Listet die Typen von T:HealthKit.HKCategory auf; derzeit gibt es nur das eine Formular (Schlafanalyse). |
HKCategoryValue |
Enthält einen einzelnen Wert, der angibt, dass ein Kategoriewert nicht auf die Kategorie anwendbar ist. |
HKCategoryValueAppleStandHour |
Zählt auf, ob der Benutzer während einer Stunde gestanden hat oder nicht. |
HKCategoryValueCervicalMucusQuality |
Zählt die Zervixschleimqualität des Benutzers auf. |
HKCategoryValueMenstrualFlow |
Zählt die Menge des Menstruationsflusses auf. |
HKCategoryValueOvulationTestResult |
Listet die Ergebnisse eines Eisprungtests auf. |
HKCategoryValueSleepAnalysis |
Listet die Zustände des Schlummers auf: ob sie schlafen oder nur im Bett ruhen. |
HKCharacteristicTypeIdentifier |
Listet die Formen von auf HKCharacteristicType. |
HKClinicalTypeIdentifier |
Listet Bezeichner des Klinischen Datensatztyps auf. |
HKCorrelationTypeIdentifier |
Enthält Konstanten, die HealthKit-Korrelationstypen identifizieren. |
HKDocumentTypeIdentifier |
Listet HealthKit-Dokumenttypen auf. |
HKErrorCode |
Listet häufige Fehler auf, die beim Zugriff auf Integritätsdaten auftreten. |
HKFhirResourceType |
Listet FHIR-Typen (Fast Healthcare Interoperability Resources) auf. |
HKFitzpatrickSkinType |
Listet Hauttypen mit der Fitzpatrick-Skala auf. |
HKHeartRateMotionContext |
Listet die möglichen Aktivitätsstufen auf, die einer Herzfrequenzprobe zugeordnet sind. |
HKHeartRateSensorLocation |
Listet die Stellen auf, an denen ein Herzfrequenzmessgerät angeschlossen ist. |
HKInsulinDeliveryReason |
Listet die Gründe auf, warum Insulin bereitgestellt wurde. |
HKMetricPrefix |
Zählt Metrikpräfixe auf, z. B. Centi-, Deca-, Deci-. Wird mit Factorymethoden von HKUnitverwendet. |
HKQuantityAggregationStyle |
Zählt auf, ob ein HKQuantityType ein kumulatives Maß (z. B. "aktive Energie verbrannt") oder ein diskreter Wert (z. B. "Blutalkoholgehalt") ist. |
HKQuantityTypeIdentifier |
Listet die Typen von auf HKQuantityType. |
HKQueryOptions |
Listet optionen auf, die für die Verwendung mit der GetPredicateForSamples(NSDate, NSDate, HKQueryOptions) -Methode verfügbar sind. |
HKStatisticsOptions |
Listet optionen auf, die für HKStatisticsQuery und HKStatisticsCollectionQuery objets gelten. |
HKSwimmingStrokeStyle |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
HKUpdateFrequency |
Listet die Frequences für die Bereitstellung von Daten im Hintergrund auf (siehe EnableBackgroundDelivery(HKObjectType, HKUpdateFrequency, Action<Boolean,NSError>)). |
HKVO2MaxTestType |
Listet den Testprozess auf, der zum Festlegen von VO2 Max verwendet wird. |
HKWeatherCondition |
Listet Wettertypen auf. |
HKWheelchairUse |
Listet Konstanten auf, die den Rollstuhleinsatz beschreiben. |
HKWorkoutActivityType |
Listet verschiedene Aktivitäten auf, die als Workouts angesehen werden. |
HKWorkoutEventType |
Listet Ereignisse auf, die während eines Trainings auftreten können (Pause, Resume). |
HKWorkoutSessionLocationType |
Listet Die Trainingsorte auf. |
HKWorkoutSwimmingLocationType |
Der HealthKit-Namespace bietet eine sichere Datenspeicherung und den Abruf von integritätsbezogenen Informationen. |
Delegaten
Hinweise
Der in iOS 8 eingeführte Health Kit-Namespace ermöglicht Anwendungen das Aufzeichnen, Nachverfolgen und Zugreifen auf integritätsbezogene Informationen in einem gemeinsamen persistenten Speicher.
Bereitstellung, Berechtigungen und Profile
Um Health Kit-Dienste verwenden zu können, müssen Anwendungen mit einer expliziten App-ID und einem Bereitstellungsprofil entwickelt werden, das die expliziten ID- und Health Kit-Berechtigungen enthält.
Darüber hinaus müssen Anwendungen über eine Entitlements.plist verfügen, die den Schlüssel com.apple.developer.healthkit
des Typs Boolean
mit dem Wert enthält true
.
Zur Laufzeit muss die Anwendung Zugriff auf die spezifischen Typen von Integritätsdaten anfordern, an denen sie interessiert ist. Der Benutzer interagiert mit einem Berechtigungsdialogfeld in der Integritäts-App, mit dem er genau steuern kann, welche Integritätsinformationen zugelassen werden.
var temperatureKey = HKQuantityTypeIdentifierKey.BodyTemperature;
var tempQuantityType = HKObjectType.GetQuantityType (temperatureKey);
var hks = new HKHealthStore ();
var success = await hks.RequestAuthorizationToShareAsync (new NSSet (new [] { tempQuantityType }), new NSSet ());
Das Ergebnis der T:HealthKit.HKHealthStore.RequestAuthorizationtoShareAsync-Methode gibt nur an, dass der Benutzer mit dem Berechtigungsdialogfeld interagiert hat. Es gibt nicht an, ob der Benutzer die Datenfreigabe zugelassen hat. Dazu können Anwendungen die - GetAuthorizationStatus Methode verwenden:
var access = healthKitStore.GetAuthorizationStatus (HKObjectType.GetQuantityType (HKQuantityTypeIdentifierKey.HeartRate));
if (access.HasFlag (HKAuthorizationStatus.SharingAuthorized)) {
//...etc...
Erstellen und Speichern von Daten
Nachdem Berechtigungen erteilt wurden, umfasst das Erstellen und Speichern von Daten das Erstellen eines HKSample einer bestimmten HKSampleType und dann den Aufruf SaveObject von oder SaveObjectAsync.
Unterschiede bei der Ausnahmebehandlung zwischen asynchronen und nicht asynchronen Methoden
Apples Philosophie in Bezug auf Versuche, nicht zulässige Informationen zu speichern oder zu lesen, ist, dass solche Versuche keine Laufzeitausnahmen verursachen sollten. Stattdessen werden Methoden wie RequestAuthorizationToShare und M:HealthKit.HKStore.SaveObject* mit Abschlussrückrufhandlern definiert, die im Falle eines Fehlers ein Argument ungleich NULL NSError übergeben. Anwendungsentwickler, die solche Methoden verwenden, sollten besonders darauf achten, den Erfolg zu überprüfen, da es sehr wahrscheinlich ist, dass Benutzer beim Zugriff auf ihre Gesundheitsdaten vorsichtig sind.
Im Gegensatz dazu lösen Xamarins asynchrone Versionen solcher Methoden (z. B. M:HealthKit.HKHealthStore.RequestAutorizationToShareAsync* und SaveObjectAsync) einen NSErrorException fehler aus, oder wenn die Methode vom Endbenutzer nicht zugelassen wird.
//Apple's philosophy: no exception
var myCurrentTemp = HKQuantity.FromQuantity (HKUnit.DegreeFahrenheit, 98.6);
var tempSample = HKQuantitySample.FromType (tempQuantityType, myCurrentTemp, new NSDate (), new NSDate (), new NSDictionary());
hks.SaveObject(tempSample, (success, error) => {
if(error != null)
{
//...etc...
//Xamarin's philosophy: Lack of permissions raises exception
protected async void StoreAsync(HKHealthStore store, HKQuantitySample sample)
{
try
{
var success = await store.SaveObjectAsync (sample);
}catch(NSErrorException x)
{
Console.WriteLine (x);
}
}
Es gibt mehrere Typen von T:HealthKit.HKObjecTypes:
HKCharacteristicType -Objekte stellen statische Charakteriken des Benutzers dar, z. B. Geburtsdatum oder Bluttyp (siehe HKCharacteristicTypeIdentifierKey), während HKSampleType Objekte Daten darstellen, die im Laufe der Zeit erfasst werden. Ab iOS 8 gibt es nur einen Typ von HKCategorySample, nämlich SleepAnalysis. Die meisten Health Kit-Datentypen sind in HKQuantityTypeIdentifierKeydefiniert.
Das Bearbeiten von Datenbeispielen umfasst sowohl ein HKSampleType -Objekt als auch ein HKSample -Objekt, um die Daten zu übertragen:
HKQuantitySamples kann auf eine sofortige Messung verweisen. In diesem Fall sollten die P:HealthKit.HKQuantitySample.StartDate und P:HealthKit.HKQuantitySample.EndDate auf den gleichen Wert festgelegt werden. Andere Stichproben, z. B. die Anzahl der Schritte, werden im Laufe der Zeit gemessen, und die Start- und Endzeit sollten entsprechend festgelegt werden.
Daten können Metadaten zugeordnet sein. Es gibt eine Reihe vordefinierter Metadatenschlüssel in HKMetadataKey, aber Anwendungsentwickler werden empfohlen, auch eigene Schlüssel für Metadaten zu erstellen.
Maßeinheiten und Konvertierung
Das Health Kit unterstützt Maßeinheiten in den Kategorien Masse, Länge, Volumen und Energie. Diese Unterstützung umfasst die Konvertierung von Werten zwischen Messsystemen (z. B. wenn ein Benutzer Fahrenheitsgrade bevorzugt, aber über einen Sensor verfügt, der seine Daten in Celsius meldet). Dies wird in der Integritäts-App automatisch unterstützt, aber auch explizite Konvertierungen sind möglich, wie im folgenden Beispiel gezeigt:
var myFahrenheitTemp = HKQuantity.FromQuantity (HKUnit.DegreeFahrenheit, 98.6);
var myCelsiusTemp = myFahrenheitTemp.GetDoubleValue (HKUnit.DegreeCelsius);