iOS HealthKit開發

HealthKit

什么是HealthKit

  • HealthKit提供了一個結構,應用可以使用它來分享健康和健身數據。HealthKit管理從不同來源獲得的數據,并根據用戶的偏好設置,自動將不同來源的所有數據合并起來。應用還可以獲取每個來源的原始數據,然后執行自己的數據合并。

HealthKit可以做什么

  • HealthKit也可以直接與健康和健身設備一起工作。在iOS8.0中,系統可以自動將兼容的低功耗藍牙心率儀的數據直接保存在HealthKit存儲中。如果有M7運動協處理器,系統還可以自動導入計步數據。其他的設備和數據源必須要有配套的應用才可以獲取數據并保存在HealthKit中

HealthKit應用

  • HealthKit提供了一個應用來幫助管理用戶的健康數據。健康應用為用戶展示HealthKit的數據。用戶可以使用健康應用來查看、添加、刪除或者管理其全部的健康和健身數據。用戶還可以編輯每種數據類型的分享權限。


    HealathKit

HealthKit的常見問題

  • HealthKit和健康應用在iPad和iPod上都不可用。HealthKit框架不能用于應用擴展。

  • HealthKit的數據不會保存在iCloud中,也不會在多設備間同步。這些數據只會保存在用戶的本地設備中。為了安全考慮,當設備沒有解鎖時,HealthKit存儲的數據是加密的。

  • 個人感覺HealthKit這個框架幫我們把一些要查詢的信息封裝好了,我們只需要去查詢就好了,

HealthKit對象主要分為2類:
特征和樣本
特征對象代表一些基本不變的數據。包括用戶的生日、血型和生理性別。你的應用不能保存特征數
據。用戶必須通過健康應用來輸入或者修改這些數據。
樣本對象代表某個特定時間的數據.所有的樣本對象都是HKSample的子類。它們都有下列屬性

  1. Type。樣本類型。例如,這可能包括一個睡眠分析樣本、一個身高樣本或者一個計步樣本.
  2. Start date。樣本的開始時間。
  3. End date。樣本的結束時間。如果樣本代表時間中的某一刻,結束時間和開始時間相同。如果樣本代表一段時間內收集的數據,結束時間應該晚于開始時間
  • 蘋果為我們提供了一些寫好的常量HealthKit常量參考
  • 獲取步數分為兩步1.獲得權限 2.讀取步數
  • 注意:所有HealthKit API的完成回調都在一個私有的后臺隊列中執行。所以在更新用戶界面或者修改一些只能在主線程中處理的資源之前,應該把這些數據傳回主線程。

單位的換算

  • HealthKit使用 HKUnitHKQuantity 類來支持單位。HKUnit 提供了單一單位的表示。它支持大部分的公制和英制單位,當然還包括基本單位和符合單位。基本單位代表單一的度量,例如米、磅或者秒。復合單位使用數學運算連接一個或多個基本單位,例如m/s或者lb/ft2。
  • HKUnit 提供了便捷方法來創建HealthKit支持的所有基本單位。它還提供了構建復合單位需要的數學運算。最后,你還可以通過直接使用恰當的格式化的單位字符串來創建復合單位。可參考參見HKUnit Class Reference

查看步數demo
查看所有歷史數據,查看當天數據

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容