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 เนื่องจากต้องได้รับการอนุมัติเป็นพิเศษ