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

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

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

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

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

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

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

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

ข้อมูลแต่ละประเภทจะมีฟิลด์ที่เชื่อมโยงซึ่งเป็นแบบทั่วไป เช่น time และ zoneOffset หรือเป็นแบบเฉพาะเจาะจง เช่น title, count และ percentage ฟิลด์บางฟิลด์ใช้ประเภทแบบง่าย เช่น long, double หรือสตริง ขณะที่บางฟิลด์ใช้ประเภทที่ซับซ้อน เช่น การแจกแจงและคลาส เช่น 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
CyclingPedalingCadence android.permission.health.READ_CYCLING_PEDALING_CADENCE
android.permission.health.WRITE_CYCLING_PEDALING_CADENCE
ระยะทาง 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
ความสูง android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
การดื่มน้ำ 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
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_CADENCE
android.permission.health.WRITE_STEPS_CADENCE
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
น้ำหนัก 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
ระยะทาง 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
ความสูง androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
การดื่มน้ำ 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
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.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
VO2Max 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 ไม่ได้เนื่องจากต้องได้รับอนุมัติพิเศษ