共用方式為


HealthKit 命名空間

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

類別

HKActivitySummary

摘要說明特定日期的使用者活動。

HKActivitySummaryQuery

取得 HKActivitySummary 符合 的 NSPredicate 實例。

HKActivitySummaryType

用來要求讀取 HKActivitySummary 物件使用權限的 Obect。

HKAnchoredObjectQuery

HKQuery 其初始呼叫會傳回最新的結果,而後續呼叫只會傳回初始呼叫之後新增的資料。

HKBiologicalSexObject

GetBiologicalSex(NSError) 所傳回。

HKBloodTypeObject

傳回者 GetBloodType(NSError)

HKCategorySample

HKSample 其值為其中一個列舉型別。

HKCategoryType

HKSampleType目前只有一種形式:睡眠分析。

HKCategoryTypeIdentifierExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKCategoryTypeIdentifierKey

定義要識別 HKCategoryType 的索引鍵。 目前只有一個用於睡眠分析的關鍵。

HKCdaDocument

包含 HealthKit 存放區健康情況檔中 XML 中表示的資訊。

HKCdaDocumentSample

包含 HealthKit 存放區健康情況檔中 XML 中表示的資訊。

HKCharacteristicType

HKObjectType 指定使用者的永久層面。

HKCharacteristicTypeIdentifierExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKCharacteristicTypeIdentifierKey

定義 的 HKCharacteristicType 常數名稱。

HKClinicalRecord

臨床記錄的範例。

HKClinicalType

臨床記錄的樣本類型。

HKClinicalTypeIdentifierExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKCorrelation

例如,兩個健康情況資料 (之間的相互關聯,例如,) 。

HKCorrelationQuery

HKQuery 只傳回與相互關聯一起儲存的資料。 (注意:Systolic 和診斷的糖尿病讀數不相互關聯。)

HKCorrelationType

HKSampleType 指定兩種資料類型之間的相互關聯 (例如,) 。

HKCorrelationTypeIdentifierExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKCorrelationTypeKey

定義 的格式 HKCorrelation

HKCumulativeQuantitySeriesSample

累計資料數列。

HKDeletedObject

代表已從存放區中刪除的範例。

HKDetailedCdaErrors

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKDevice

產生或取用 HealthKit 資料的硬體。

HKDevicePropertyKey

保留其常數值與 屬性 HKDevice 相關的索引鍵。

HKDocumentQuery

查詢 HealthKit 存放區中的檔。

HKDocumentSample

抽象 HealthKit 儲存健康情況檔。

HKDocumentType

包含識別 CDA 檔案類型的常數。

HKDocumentTypeIdentifierExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKErrorCodeExtensions

HealthKit.HKErrorCode 列舉的擴充方法。

HKFhirResource

代表 FHIR (FHIR) 資源的快速醫療保健互通性資源。

HKFhirResourceTypeExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKFitzpatrickSkinTypeObject

保存面板類型資料。

HKHealthStore

MonoTouch.HealthKit.HKHealthStore 連線至整個系統的健康情況相關資訊資料庫。

HKHealthStore.Notifications

類別,其中包含 Health Kit 存放區通知的處理常式。

HKMetadata

各種健康情況相關元資料類型的索引鍵/值存放區。

HKMetadataKey

定義索引鍵/值字典中的 HKMetadata 索引鍵。

HKObject

基類至 HKSample ,其定義取樣資料。

HKObjectType

Health Kit 資料庫中可儲存之資料類型的基類。

HKObserverQuery

HKQuery一開始執行一次,然後在將相關資料加入資料庫 時自動執行。

HKPredicateKeyPath

包含常數,代表識別選取 HealthKit 值的述詞索引鍵路徑的索引鍵。

HKQuantity

表示特定單位類型的可測量數量,其中包含 double 值和 HKUnit 類型。

HKQuantitySample

HKSample,其大小 (請參閱 Quantity) 。

HKQuantitySeriesSampleBuilder

建置數量範例數列。

HKQuantitySeriesSampleQuery

查詢數量範例中的數列資料。

HKQuantityType

代表累計或離散樣本

HKQuantityTypeIdentifierExtensions

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKQuantityTypeIdentifierKey

的類型 HKQuantityType

HKQuery

查詢 Health Kit 資料庫的基類。

HKQueryAnchor

表示先前錨定物件查詢所傳回的最新範例。

HKSample

健康情況資訊的度量。 HKQuantitySampleHKCategorySample 的基底類別。

HKSampleQuery

HKQuery 從資料庫擷取 HKSampleType 資料。

HKSampleType

HKObject 表示在特定時間取樣或經過一段時間取樣的資料。

HKSeriesBuilder

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKSeriesSample

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKSeriesType

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKSource

健康情況資料的提供者,例如特定感應器或應用程式。

HKSourceQuery

類別,表示 HealthKit 資料的查詢。

HKSourceRevision

包裝 HKSource ,新增版本資訊。

HKSourceRevisionInfo

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKStatistics

提供健康情況資訊的基本統計作業。

HKStatisticsCollection

一組相關的統計資料 (通常代表時間序列) 。

HKStatisticsCollectionQuery

HKQuery 其會產生統計資料集合 (,例如,上個月) 的每日步驟數目。

HKStatisticsQuery

HKQuery 可計算基本統計資料 (,例如其組成資料的總和平均數) 。

HKUnit

用於操作大量、長度、音量和能源測量的定義和公用程式方法。

HKWheelchairUseObject

包含描述使用方法的列舉。

HKWorkout

HKSample 表示實體健身。

HKWorkoutBuilder

在新增資料時,建置一個從運動資料中擷取的生氣。

HKWorkoutConfiguration

包含健身組態資訊。

HKWorkoutEvent

暫停或繼續暫停。

HKWorkoutRoute

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKWorkoutRouteBuilder

當使用者的位置變更時,用於將地理資料新增至運動的類別。

HKWorkoutRouteQuery

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKWorkoutType

HKSampleType,代表一種健身。

列舉

HKAuthorizationRequestStatus

列舉值,指出應用程式何時應該要求使用者許可權才能存取。

HKAuthorizationStatus

列舉應用程式讀取或寫入健康情況資料的許可權。

HKBiologicalSex

列舉生生性。

HKBloodGlucoseMealTime

列舉值,這個值會指出在食物之前或之後是否取得糖尿病等級。

HKBloodType

列舉已知的血型別。

HKBodyTemperatureSensorLocation

列舉溫度計接受其讀數的位置。

HKCategoryTypeIdentifier

列舉 T:HealthKit.HKCategory的類型;目前只有一個表單 (睡眠分析) 。

HKCategoryValue

包含單一值,指出類別值不適用於類別。

HKCategoryValueAppleStandHour

列舉使用者是否在一小時內看得懂。

HKCategoryValueCervicalMucusQuality

列舉使用者的重設品質。

HKCategoryValueMenstrualFlow

列舉男性流量。

HKCategoryValueOvulationTestResult

列舉 ovulation 測試結果。

HKCategoryValueSleepAnalysis

列舉睡眠狀態,或只是在睡眠中。

HKCharacteristicTypeIdentifier

列舉 的形式 HKCharacteristicType

HKClinicalTypeIdentifier

列舉臨床記錄類型識別碼。

HKCorrelationTypeIdentifier

包含識別 HealthKit 相互關聯類型的常數。

HKDocumentTypeIdentifier

列舉 HealthKit 檔案類型。

HKErrorCode

列舉存取健康情況資料時發生的常見錯誤。

HKFhirResourceType

列舉快速醫療保健互通性資源 (FHIR) 類型。

HKFitzpatrickSkinType

使用 Fitzpatrick 小數位數列舉面板類型。

HKHeartRateMotionContext

列舉與活動速率樣本相關聯的可能活動層級。

HKHeartRateSensorLocation

列舉附加活動速率監視器的位置。

HKInsulinDeliveryReason

列舉提供封耙的原因。

HKMetricPrefix

列舉計量前置詞,例如 Centi-、Deca-、Deci-。 搭配 的 HKUnit 處理站方法使用。

HKQuantityAggregationStyle

列舉 是否 HKQuantityType 為累計量值 (,例如「作用中能源已耗用」) 或離散值 (,例如「血氣內容」) 。

HKQuantityTypeIdentifier

列舉 的類型 HKQuantityType

HKQueryOptions

列舉可與 方法搭配 GetPredicateForSamples(NSDate, NSDate, HKQueryOptions) 使用的選項。

HKStatisticsOptions

列舉適用于 HKStatisticsQueryHKStatisticsCollectionQuery objets 的選項。

HKSwimmingStrokeStyle

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKUpdateFrequency

列舉資料背景傳遞的頻率, (請參閱 EnableBackgroundDelivery(HKObjectType, HKUpdateFrequency, Action<Boolean,NSError>)) 。

HKVO2MaxTestType

列舉用來建立 VO2 Max 的測試程式。

HKWeatherCondition

列舉天氣類型。

HKWheelchairUse

列舉描述使用中的常數。

HKWorkoutActivityType

列舉被視為健身的各種活動。

HKWorkoutEventType

列舉在 (暫停、繼續) 期間可能發生的事件。

HKWorkoutSessionLocationType

列舉定位位置。

HKWorkoutSwimmingLocationType

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

委派

HKAnchoredObjectResultHandler

的完成處理常式 HKAnchoredObjectQuery(HKSampleType, NSPredicate, nuint, nuint, HKAnchoredObjectResultHandler2)

HKAnchoredObjectResultHandler2

錨定物件查詢的完成處理常式。

HKAnchoredObjectUpdateHandler

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKCorrelationQueryResultHandler

HKCorrelationQuery 完成處理常式。

HKHealthStoreGetRequestStatusForAuthorizationToShareHandler

要傳遞至 的 GetRequestStatusForAuthorizationToShare(NSSet<HKSampleType>, NSSet<HKObjectType>, HKHealthStoreGetRequestStatusForAuthorizationToShareHandler) 處理常式。

HKObserverQueryUpdateHandler

更新 物件的處理常式 HKObserverQuery

HKQuantitySeriesSampleBuilderFinishSeriesDelegate

T:HealthKit.HKQuantitySeriesSampleBuilder.FinishSeries的完成處理常式。

HKQuantitySeriesSampleQueryQuantityDelegate

要傳遞至 的 HKQuantitySeriesSampleQuery(HKQuantitySample, HKQuantitySeriesSampleQueryQuantityDelegate) 處理常式。

HKSampleQueryResultsHandler

的結果處理常式 HKSampleQuery

HKSourceQueryCompletionHandler

HKSourceQuery 完成處理常式。

HKStatisticsCollectionEnumerator

EnumerateStatistics(NSDate, NSDate, HKStatisticsCollectionEnumerator) 委派處理常式。

HKStatisticsCollectionQueryInitialResultsHandler

SetStatisticsUpdateHandler(HKStatisticsCollectionQueryInitialResultsHandler) 的結果處理常式 SetInitialResultsHandler(HKStatisticsCollectionQueryInitialResultsHandler)

HKStatisticsCollectionQueryStatisticsUpdateHandler

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

HKStatisticsQueryHandler

C:HKStatisticsQuery的結果處理常式。

HKStoreSampleAddedCallback

AddSamples(HKSample[], HKWorkout, HKStoreSampleAddedCallback) 完成處理常式。

HKWorkoutBuilderCompletionHandler

使用 新增中繼資料的 HKWorkoutRouteQuery(HKWorkoutRoute, HKWorkoutRouteBuilderDataHandler) 完成處理常式。

HKWorkoutRouteBuilderAddMetadataHandler

使用 新增中繼資料的 HKWorkoutRouteQuery(HKWorkoutRoute, HKWorkoutRouteBuilderDataHandler) 完成處理常式。

HKWorkoutRouteBuilderDataHandler

HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。

備註

iOS 8 中引進的 Health Kit 命名空間可讓應用程式記錄、追蹤和存取一般永續性存放區的健康情況相關資訊。

布建、許可權和設定檔

若要使用 Health Kit 服務,必須使用「明確應用程式識別碼」和包含明確識別碼和 Health Kit 許可權的布建設定檔來開發應用程式。

此外,應用程式必須具有 Entitlements.plist,其中包含值為 之 型 Booleantrue 別的索引鍵 com.apple.developer.healthkit

在執行時間,應用程式必須要求存取其感興趣的特定健康情況資料類型。 使用者將會與 [健康情況] 應用程式中的許可權對話方塊互動,讓他們能夠更精細地控制他們允許的健康情況資訊。

var temperatureKey = HKQuantityTypeIdentifierKey.BodyTemperature;
var tempQuantityType = HKObjectType.GetQuantityType (temperatureKey);

var hks = new HKHealthStore ();
var success = await hks.RequestAuthorizationToShareAsync (new NSSet (new [] { tempQuantityType }), new NSSet ());

T:HealthKit.HKHealthStore.RequestAuthorizationtoShareAsync方法的結果只會指出使用者與許可權對話方塊互動,它不會指出使用者是否允許任何資料共用。 因此,應用程式可以使用 GetAuthorizationStatus 方法:

var access = healthKitStore.GetAuthorizationStatus (HKObjectType.GetQuantityType (HKQuantityTypeIdentifierKey.HeartRate));
if (access.HasFlag (HKAuthorizationStatus.SharingAuthorized)) {
//...etc...

建立和儲存資料

授與許可權之後,建立和儲存資料牽涉到建立 HKSample 特定 HKSampleType ,然後呼叫 SaveObjectSaveObjectAsync

非同步和非非同步方法之間的例外狀況處理差異

Apple 關於嘗試儲存或讀取非允許資訊的概念,就是這類嘗試不應該造成執行時間例外狀況。 相反地,和 M:HealthKit.HKStore.SaveObject*之類的 RequestAuthorizationToShare 方法會以在發生錯誤時傳遞非 Null NSError 引數的完成回呼處理常式來定義。 使用這類方法的應用程式開發人員應該特別小心檢查是否成功,因為使用者很可能會小心存取其健康情況資料。

相反地,Xamarin 這類方法的非同步版本 (M:HealthKit.HKHealthStore.RequestAutorizationToShareAsync* ,而 SaveObjectAsync) 會在失敗時擲回 ,或者使用者不允許此方法時擲回 NSErrorException

//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);
	}
}

T:HealthKit.HKObjecTypes 有數種類型:

HKCharacteristicType 物件代表使用者的靜態字元,例如生日或血型別 (查看 HKCharacteristicTypeIdentifierKey) ,而 HKSampleType 物件則代表一段時間內取樣的資料。 從 iOS 8 起,只有一種類型的 HKCategorySample ,也就是 SleepAnalysis 。 大部分的 Health Kit 資料類型定義于 中 HKQuantityTypeIdentifierKey

運算元據範例牽 HKSampleType 涉到物件和 HKSample ,以攜帶資料:

HKQuantitySamples 可能會參考即時度量,在此情況下,其 P:HealthKit.HKQuantitySample.StartDate P:HealthKit.HKQuantitySample.EndDate屬性應該設定為相同的值。 其他範例,例如步驟計數,會隨著時間測量,而且應該適當地設定開始和結束時間。

資料可能會有與其相關聯的中繼資料。 中有 HKMetadataKey 一些預先定義的中繼資料金鑰,但建議應用程式開發人員也為中繼資料建立自己的金鑰。

測量和轉換的單位

Health Kit 支援品質、長度、音量和能源類別的測量單位。 此支援包括測量系統之間的值轉換 (例如,如果使用者偏好華氏度數,但感應器會以攝氏) 報告其資料。 這會自動在 Health 應用程式中受到支援,但也可以進行明確的轉換,如下列範例所示:

var myFahrenheitTemp = HKQuantity.FromQuantity (HKUnit.DegreeFahrenheit, 98.6);
var myCelsiusTemp = myFahrenheitTemp.GetDoubleValue (HKUnit.DegreeCelsius);