วางแผนและตรวจสอบประเภทข้อมูล Health Connect

Health Connect จัดเก็บและจัดโครงสร้างข้อมูลสุขภาพและการออกกำลังกาย รวมถึงพิจารณา วิธีวัดข้อมูลประเภทต่างๆ ด้วย ข้อมูลประเภทนี้รวมถึงการวัดอัตราการเต้นของหัวใจ ที่ดำเนินการทันที จำนวนก้าวที่ดำเนินการในช่วงระยะเวลาหนึ่ง และข้อมูลการนอนหลับที่ดำเนินการ ในเซสชัน

คุณควรทำความเข้าใจก่อนว่า Health Connect มีข้อมูลประเภทใดและสิทธิ์ใดบ้าง เพื่อวางแผนข้อกำหนดของแอป ดังนั้น คุณจึงต้องตรวจสอบประเภทข้อมูลก่อนจึงจะสรุปข้อกำหนดได้

หมวดหมู่ประเภทข้อมูล

Health Connect รองรับประเภทข้อมูลที่ใช้ในแอปสุขภาพและการออกกำลังกายส่วนใหญ่เพื่อมอบความหลากหลายให้มากที่สุด Health Connect มีเป้าหมายที่จะนำเสนอ มุมมองและการจัดเก็บข้อมูลสุขภาพและการออกกำลังกายที่ครอบคลุม ประเภทข้อมูลเหล่านี้แบ่งออกเป็นหมวดหมู่ต่อไปนี้

  • กิจกรรม: บันทึกกิจกรรมทั้งหมดที่ผู้ใช้ทำ ซึ่งอาจรวมถึง กิจกรรมด้านสุขภาพและการออกกำลังกาย เช่น การวิ่งและการว่ายน้ำ
  • การวัดค่าร่างกาย: ข้อมูลนี้จะบันทึกข้อมูลทั่วไปที่เกี่ยวข้องกับร่างกาย เช่น น้ำหนักของผู้ใช้และอัตราการเผาผลาญขั้นพื้นฐาน
  • การติดตามรอบเดือน: ฟีเจอร์นี้จะบันทึกรอบเดือนและจุดข้อมูลที่เกี่ยวข้อง เช่น ผลลัพธ์แบบไบนารีของการทดสอบการตกไข่
  • โภชนาการ: บันทึกประเภทข้อมูลปริมาณน้ำที่ดื่มและโภชนาการ โดยค่าแรก จะแสดงปริมาณน้ำที่ผู้ใช้ดื่มในเครื่องดื่ม 1 แก้ว โดยข้อมูลหลัง ประกอบด้วยช่องที่ไม่บังคับ เช่น แคลอรี่ น้ำตาล และแมกนีเซียม
  • การนอนหลับ: บันทึกข้อมูลช่วงเวลาที่เกี่ยวข้องกับระยะเวลาและประเภท การนอนหลับของผู้ใช้
  • สัญญาณชีพ: ข้อมูลนี้จะบันทึกข้อมูลสำคัญเกี่ยวกับสุขภาพทั่วไปของผู้ใช้ ซึ่งรวมถึงข้อมูลต่างๆ เช่น อุณหภูมิของร่างกาย น้ำตาลกลูโคสในเลือด ความดันโลหิต และความอิ่มตัวของออกซิเจนในเลือด

รูปแบบประเภทข้อมูล

ระบบจะจัดเก็บประเภทข้อมูลใน Health Connect ไว้ในออบเจ็กต์ที่เป็นคลาสย่อยของ Record

ข้อมูลแต่ละประเภทจะมีฟิลด์ที่เชื่อมโยงซึ่งอาจเป็นแบบทั่วไป เช่น time และ zoneOffset หรือแบบเฉพาะ เช่น title, count และ percentage ฟิลด์บางรายการใช้ประเภทข้อมูลอย่างง่าย เช่น long, double หรือ string ขณะที่ฟิลด์อื่นๆ ใช้ประเภทข้อมูลที่ซับซ้อน เช่น การแจงนับและคลาส เช่น Instant และ ZoneOffset แอตทริบิวต์ของช่องเหล่านี้อาจเป็นแบบ ต้องระบุหรือไม่ก็ได้ แอตทริบิวต์บางรายการเป็นแบบอ่านอย่างเดียว และแอตทริบิวต์บางรายการจะยึดตาม ช่วงค่าที่เฉพาะเจาะจง

ดูรายการประเภทข้อมูลและฟิลด์ทั้งหมดที่ใช้ได้ในคลาสต่างๆ ใน Jetpack

แอตทริบิวต์ข้อมูลเพิ่มเติม

ข้อมูลใน Health Connect API ยังมีแอตทริบิวต์ข้อมูลเมตา ที่อธิบายไว้ในรายการต่อไปนี้ด้วย

  • รหัส Health Connect: จุดข้อมูลแต่ละจุดจะได้รับตัวระบุที่ไม่ซ้ำกัน (UID) เมื่อสร้าง ซึ่งมีประโยชน์สำหรับการดำเนินการอ่านและเขียนมาตรฐาน ดูรายละเอียดเพิ่มเติมได้ที่รหัส Health Connect
  • เวลาที่แก้ไขล่าสุด: การประทับเวลาของอินสแตนซ์ล่าสุดที่บันทึก มีการอัปเดต ระบบจะสร้างรหัสนี้โดยอัตโนมัติเมื่อสร้างระเบียนครั้งแรกหรือทุกครั้งที่มีการอัปเดต
  • แหล่งที่มาของข้อมูล: Health Connect จะจัดเก็บข้อมูลเกี่ยวกับแอปที่ข้อมูลมาจาก โดยจะมีชื่อแพ็กเกจของต้นทางนั้น ซึ่งระบบจะเพิ่มโดยอัตโนมัติเมื่อสร้าง
  • อุปกรณ์: Health Connect จะจัดเก็บข้อมูลเกี่ยวกับอุปกรณ์ที่ข้อมูลมาจาก โดยจะมีผู้ผลิตและรุ่นของอุปกรณ์ดังกล่าว ซึ่งคุณ ต้องระบุค่าด้วยตนเอง
  • รหัสไคลเอ็นต์: Health Connect จะให้รหัสไคลเอ็นต์เพื่อให้แอปไคลเอ็นต์ อ้างอิงถึงข้อมูลโดยใช้รหัสของตนเอง ซึ่งจะช่วยในการแก้ปัญหาความขัดแย้งและ ทำให้การซิงค์ง่ายขึ้น โดยจะป้อนข้อมูลนี้ลงในระเบียนด้วยตนเอง
  • เวอร์ชันบันทึกไคลเอ็นต์: Health Connect จะให้การควบคุมเวอร์ชันพร้อมกับรหัสไคลเอ็นต์เพื่อช่วยติดตามการเปลี่ยนแปลงระหว่างการซิงค์ข้อมูล โดยจะป้อนลงใน ระเบียนด้วยตนเอง
  • วิธีการบันทึก: Health Connect ช่วยให้คุณเข้าใจวิธีบันทึกข้อมูล ซึ่งรวมถึงแอปที่บันทึกข้อมูลแบบพาสซีฟ (โดยอัตโนมัติ) และผู้ใช้ที่บันทึกข้อมูลแบบแอ็กทีฟหรือด้วยตนเอง

รหัส Health Connect

Health Connect จะกำหนดตัวระบุที่ไม่ซ้ำกัน (UID) ให้กับออบเจ็กต์ข้อมูลที่แทรกใหม่ ซึ่งจะระบุออบเจ็กต์ข้อมูลและแยกความแตกต่างจากออบเจ็กต์อื่นๆ รหัส Health Connect มีประโยชน์ในคำขออ่านหรือเขียน รหัส Health Connect ไม่เหมือนกับ รหัสไคลเอ็นต์ แอปไคลเอ็นต์จะกำหนดรหัสไคลเอ็นต์ ส่วน Health Connect จะกำหนดรหัส Health Connect เท่านั้น

โปรดทราบข้อมูลต่อไปนี้เมื่อใช้รหัส Health Connect

  • เซสชันมีรหัส Health Connect เดียว แต่ข้อมูลภายในเซสชันจะมีรหัส Health Connect ของตัวเอง
  • รหัส Health Connect ไม่ได้เชื่อมโยงหรือเกี่ยวข้องกับแสตมป์เวลา
  • กรณีการใช้งานบางอย่างอาจต้องจัดเก็บรหัส Health Connect ที่เฉพาะเจาะจงในระหว่างเวิร์กโฟลว์ เช่น ต้องใช้รหัสที่เฉพาะเจาะจงเพื่อดึงและแสดงรายการข้อมูลที่ผู้ใช้เพิ่งบันทึก

เวลาใน Health Connect

ข้อมูลทั้งหมดที่เขียนไปยัง Health Connect ต้องระบุข้อมูลออฟเซ็ตของเขตเวลา การระบุออฟเซ็ตเขตเวลาช่วยให้แอปอ่านข้อมูลเพื่อแสดงใน เวลาพลเรือนได้ เวลาพลเรือนคือเวลาท้องถิ่นที่เกี่ยวข้องกับผู้ใช้ แต่ไม่จำเป็นต้องเป็นเวลาสากลเชิงพิกัด (UTC)

ในบางกรณีที่เกิดขึ้นไม่บ่อยนัก ออฟเซ็ตโซนอาจไม่พร้อมใช้งาน เมื่อเกิดกรณีนี้ใน Android 14 (API ระดับ 34) Health Connect จะตั้งค่าออฟเซ็ตเขตเวลาตามเขตเวลาเริ่มต้นของระบบในอุปกรณ์ ใน Android 13 และเวอร์ชันที่ต่ำกว่า (API ระดับ 33 และต่ำกว่า) คุณสามารถเขียนไปยัง Health Connect ได้โดยไม่ต้อง ระบุข้อมูลออฟเซ็ตโซน ซึ่งควรหลีกเลี่ยงทุกครั้งที่เป็นไปได้

การตั้งค่าเวลาและเขต

การระบุข้อมูลออฟเซ็ตของโซนขณะเขียนข้อมูลจะให้ข้อมูลเขตเวลา เมื่ออ่านข้อมูลใน Health Connect อย่างไรก็ตาม อาจไม่สามารถทำได้ในบางสถานการณ์ เช่น เมื่อไม่ได้ระบุออฟเซ็ตโซน แอปของคุณ ต้องพร้อมรับมือกับข้อมูลทั้ง 2 ประเภทในลักษณะที่เหมาะสม กับสถานการณ์เฉพาะของคุณ

สิทธิ์

ก่อนที่จะขอสิทธิ์ใดๆ แอปของคุณต้องประกาศสิทธิ์เหล่านั้นในไฟล์ Manifest ก่อน ดูการแมปประเภทข้อมูลและสิทธิ์ของประเภทข้อมูลทั้งหมดได้ในตารางต่อไปนี้

สำหรับ 1.0.0-alpha10 ขึ้นไป

ข้อมูลอ้างอิงเกี่ยวกับสิทธิ์ อ่านประกาศสิทธิ์
การอ่านในเบื้องหลัง android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
ประวัติการอ่าน android.permission.health.READ_HEALTH_DATA_HISTORY

บันทึกประเภทชั้นเรียน การประกาศสิทธิ์อ่านและเขียน
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
รอบขาขณะปั่นจักรยาน android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
ระยะทาง 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.READ_EXERCISE_ROUTE
android.permission.health.WRITE_EXERCISE
android.permission.health.WRITE_EXERCISE_ROUTE

ประเภทการออกกำลังกาย

EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_HAND
EXERCISE_TYPE_BIKING_MOUNTAIN
EXERCISE_TYPE_BIKING_ROAD
EXERCISE_TYPE_BIKING_SPINNING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BIKING_UTURN
EXERCISE_TYPE_CANOEING
EXERCISE_TYPE_CROSSFIT
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_HORSEBACK_RIDING
EXERCISE_TYPE_KAYAKING
EXERCISE_TYPE_KICKBOXING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_ROLLERBLADING
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_JOGGING
EXERCISE_TYPE_RUNNING_SAND
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
ความสูง 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
MindfulnessSession android.permission.health.READ_MINDFULNESS
android.permission.health.WRITE_MINDFULNESS
โภชนาการ 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
PlannedExerciseSession android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE
อำนาจ 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
SkinTemperature android.permission.health.READ_SKIN_TEMPERATURE
android.permission.health.WRITE_SKIN_TEMPERATURE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
ความเร็ว android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
ขั้นตอน android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
StepsCadence 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
ปริมาณการใช้ออกซิเจนสูงสุด android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX
น้ำหนัก 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
รอบขาขณะปั่นจักรยาน androidx.health.permission.Exercise.READ
androidx.health.permission.Exercise.WRITE
ระยะทาง androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE
ElevationGained androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE
ExerciseSession androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE

ประเภทการออกกำลังกาย

EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_HAND
EXERCISE_TYPE_BIKING_MOUNTAIN
EXERCISE_TYPE_BIKING_ROAD
EXERCISE_TYPE_BIKING_SPINNING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BIKING_UTURN
EXERCISE_TYPE_CANOEING
EXERCISE_TYPE_CROSSFIT
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_HORSEBACK_RIDING
EXERCISE_TYPE_KAYAKING
EXERCISE_TYPE_KICKBOXING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_ROLLERBLADING
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_JOGGING
EXERCISE_TYPE_RUNNING_SAND
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.HeartRateVariability.READ
androidx.health.permission.HeartRateVariability.WRITE
ความสูง 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.Menstruation.READ
androidx.health.permission.Menstruation.WRITE
โภชนาการ 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
PlannedExerciseSession androidx.health.permission.PlannedExerciseSession.READ
androidx.health.permission.PlannedExerciseSession.WRITE
อำนาจ 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
ความเร็ว androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
ขั้นตอน androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
StepsCadence androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
ปริมาณการใช้ออกซิเจนสูงสุด androidx.health.permission.VO2Max.READ
androidx.health.permission.VO2Max.WRITE
น้ำหนัก androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

ตรวจสอบประเภทข้อมูลและสิทธิ์

เมื่อวางแผนประเภทข้อมูลและสิทธิ์แล้ว คุณจะนำไปใช้ได้ในระหว่างการพัฒนา

เมื่อตรวจสอบแอปก่อนอัปโหลดไปยัง Play Store โปรดตรวจสอบอีกครั้ง รายการประเภทข้อมูลและสิทธิ์ที่แอปของคุณต้องการ ซึ่งจะช่วยให้คุณประกาศการใช้ข้อมูลของแอปได้อย่างถูกต้อง

เมื่อเตรียมเผยแพร่แอปไปยัง Play Store ให้ประกาศการเข้าถึงประเภทข้อมูล Health Connect ที่แอปใช้ มิเช่นนั้น ผู้ใช้อาจได้รับข้อความแสดงข้อผิดพลาดที่แอปของคุณไม่สามารถเข้าถึงประเภทข้อมูล Health Connect เนื่องจากต้องได้รับการอนุมัติเป็นพิเศษ