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

ระบบจะจัดเก็บประเภทข้อมูลใน 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 ประเภทในลักษณะที่เหมาะสม กับสถานการณ์เฉพาะของคุณ