Health Connect 不僅會儲存及建構健康與健身資料,它也涵蓋了帳戶 各種資料類型的評估方式包括心率 立即測量的測量結果、隨時間走過的步數,以及記錄的睡眠資料 。
請務必先瞭解哪些類型的資料類型和權限健康狀態 連結優惠,方便您規劃應用程式的需求。如此一來 必須先檢查資料類型,才能完成需求。
資料類型類別
Health Connect 支援多數健康與健身所用的資料類型 提供各式各樣的應用程式Health Connect 的目標是 全面檢視和儲存健康與健身資料。這些資料類型 劃分為以下類別:
- 活動:擷取使用者進行的任何活動,可包含 健康與健身活動,例如跑步、游泳和睡眠。
- 身體測量資料:擷取與身體相關的常見資料,例如 使用者的體重及其基礎代謝率。
- 週期追蹤:擷取月經週期及相關資料點,例如排卵測試的二元結果。
- 營養:擷取水份和營養資料類型,前 代表使用者一次飲用的水量。後者 包括卡路里、糖和鎂等選用欄位。
- 睡眠:擷取與使用者睡眠長度和睡眠類型相關的區間資料。
- 生命徵象:擷取使用者重要的總體健康資訊,包括體溫、血糖、血液等資料 壓力和血氧飽和度。
資料類型格式
Health Connect 中的資料類型儲存在所屬物件
Record
。
每種資料類型都有相關聯的欄位 (屬於通用欄位),例如
time
和 zoneOffset
,或明確指定,例如 title
、count
和 percentage
。
有些欄位使用簡易型別 (例如 long、Double 或 string),而有些欄位會使用
例如列舉和類別 (例如 Instant
和
ZoneOffset
。這些欄位可以是必填欄位,也可以是
選用。部分屬性屬於唯讀性質,有些屬性必須使用
特定範圍內的值範圍
如需可用資料類型及其欄位的完整清單,請參閱類別 在 Jetpack 中
其他資料屬性
Health Connect API 中的資料也會提供以下清單中描述的中繼資料屬性:
- Health Connect ID:系統會在建立每個資料點時指派一組專屬 ID (UID)。這對標準讀取和寫入作業來說非常實用。 詳情請參閱「Health Connect ID」。
- 上次修改時間:標示最後一次記錄的時間戳記 有更新。只要在首次建立 錄製或每次更新時也不成問題
- 資料來源:Health Connect 會儲存 以及輸出資料內含該來源的套件名稱 建立時會自動新增。
- 裝置:Health Connect 會儲存裝置的資料來源相關資訊。當中包含裝置的製造商和型號, 手動提供值。
- 用戶端 ID:Health Connect 會提供用戶端 ID,方便用戶端應用程式 使用自己的 ID 參照資料,有助於解決衝突和 簡化同步處理作業這項資訊須手動提供給記錄。
- 用戶端記錄版本:除了用戶端 ID 外,Health Connect 也提供 版本管理。這項資訊須手動提供給記錄。
- 記錄方法:Health Connect 可讓您瞭解記錄資料的方式。 這些方法包括應用程式被動 (自動) 記錄資料,以及 主動或手動記錄資料
Health Connect ID
Health Connect 會為新插入的資料物件指派專屬 ID (UID), 能識別資料物件,並與其他物件做出區別Health Connect ID 適用於讀取或寫入要求Health Connect ID 與 用戶端 ID。用戶端應用程式會指派用戶端 ID,Health Connect 則會單獨指派 並指派 Health Connect ID
使用 Health Connect ID 時,請留意下列注意事項:
- 工作階段有單一 Health Connect ID,但工作階段內的資料有其 以及 Health Connect ID
- Health Connect ID 與時間戳記之間沒有關聯,也不相關。
- 某些用途可能需要在 工作流程舉例來說,您必須使用特定 ID 才能擷取特定 ID 並向 使用者剛剛記錄的資料項目。
Health Connect 中的時間
所有寫入 Health Connect 的資料都必須指定時區偏移資訊。 指定時區偏移,可讓應用程式讀取資料來代表資料 就是這樣「民用時間」是指與使用者相關的當地時間 但不一定採用世界標準時間 (UTC)。
在極少數情況下,您可能無法使用時區偏移。發生這個情況時 在 Android 14 (API 級別 34) 中,Health Connect 會根據 裝置的系統預設時區。Android 13 以下版本 (API 級別 33 及以下級別),即使沒有 API 級別,也能寫入 Health Connect 指定任何時區偏移資訊,因此請盡可能避免使用。
時間與時區設定
在寫入資料時指定時區偏移資訊,就能在讀取 Health Connect 資料時提供時區資訊。但可能會失敗 在某些情況下,例如未提供時區偏移值時。應用程式需要依據您的特定情況,準備處理這兩種資料。
權限
要求任何權限之前,應用程式必須先在資訊清單中宣告權限。如需資料類型及其完整對應關係的完整對應表,請參閱下表 授予其要求的權限。
適用於 1.0.0-alpha10 以上版本
記錄類別類型 | 讀取及寫入權限聲明 |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
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 |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
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 |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distance |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Height |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Hydration |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
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 |
Nutrition |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Power |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Steps |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
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 |
Weight |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
適用於 1.0.0-alpha09 以下版本
記錄類別類型 | 讀取及寫入權限聲明 |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distance |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGeted.READ
androidx.health.permission.ElevationGeted.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Height |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Hydration |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
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 |
Nutrition |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Power |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Speed |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Steps |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
Vo2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Weight |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
查看資料類型和權限
規劃完資料類型和權限後, 仍在開發階段。
將應用程式上傳到 Play 商店前,仔細檢查應用程式 應用程式所需資料類型和權限的清單。這樣一來, 確實宣告應用程式的資料使用方式。
準備將應用程式發布到 Play 商店時 宣告應用程式對 Health Connect 資料類型的存取權 使用方式。否則,系統可能會在應用程式的位置向使用者顯示錯誤訊息 無法存取 Health Connect 的資料類型 通過核准。