HealthKit 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。
類別
HKActivitySummary |
摘要說明特定日期的使用者活動。 |
HKActivitySummaryQuery |
取得 HKActivitySummary 符合 的 NSPredicate 實例。 |
HKActivitySummaryType |
用來要求讀取 HKActivitySummary 物件使用權限的 Obect。 |
HKAnchoredObjectQuery |
, HKQuery 其初始呼叫會傳回最新的結果,而後續呼叫只會傳回初始呼叫之後新增的資料。 |
HKBiologicalSexObject | |
HKBloodTypeObject | |
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 |
表示特定單位類型的可測量數量,其中包含 |
HKQuantitySample | |
HKQuantitySeriesSampleBuilder |
建置數量範例數列。 |
HKQuantitySeriesSampleQuery |
查詢數量範例中的數列資料。 |
HKQuantityType |
代表累計或離散樣本的。 |
HKQuantityTypeIdentifierExtensions |
HealthKit 命名空間提供安全的資料儲存和擷取健康情況相關資訊。 |
HKQuantityTypeIdentifierKey |
的類型 HKQuantityType 。 |
HKQuery |
查詢 Health Kit 資料庫的基類。 |
HKQueryAnchor |
表示先前錨定物件查詢所傳回的最新範例。 |
HKSample |
健康情況資訊的度量。 HKQuantitySample 和 HKCategorySample 的基底類別。 |
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,代表一種健身。 |
列舉
委派
備註
iOS 8 中引進的 Health Kit 命名空間可讓應用程式記錄、追蹤和存取一般永續性存放區的健康情況相關資訊。
布建、許可權和設定檔
若要使用 Health Kit 服務,必須使用「明確應用程式識別碼」和包含明確識別碼和 Health Kit 許可權的布建設定檔來開發應用程式。
此外,應用程式必須具有 Entitlements.plist,其中包含值為 之 型 Boolean
true
別的索引鍵 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 ,然後呼叫 SaveObject 或 SaveObjectAsync 。
非同步和非非同步方法之間的例外狀況處理差異
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);