รูปแบบประเภทข้อมูล 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 จะจัดเก็บข้อมูลเกี่ยวกับอุปกรณ์ที่ข้อมูลมาจาก มีเพียงประเภทอุปกรณ์เท่านั้นที่ต้องระบุ ส่วนฟิลด์อื่นๆ ทั้งหมด (ผู้ผลิต รุ่น ชื่อที่แสดง และตัวระบุอุปกรณ์ที่ไม่ซ้ำกัน (UDI)) เป็นส่วนที่ไม่บังคับ
  • รหัสไคลเอ็นต์: Health Connect จะให้รหัสไคลเอ็นต์เพื่อให้แอปไคลเอ็นต์ อ้างอิงถึงข้อมูลโดยใช้รหัสของตนเอง ซึ่งจะช่วยในการแก้ไขข้อขัดแย้งและ ทำให้การซิงค์ง่ายขึ้น โดยจะป้อนข้อมูลนี้ลงในระเบียนด้วยตนเอง
  • เวอร์ชันของบันทึกลูกค้า: Health Connect จะให้การกำหนดเวอร์ชันพร้อมกับ Client-ID เพื่อช่วยติดตามการเปลี่ยนแปลงระหว่างการซิงค์ข้อมูล โดยจะระบุใน ระเบียนด้วยตนเอง
  • วิธีการบันทึก: 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 ประเภทในลักษณะที่สมเหตุสมผล สำหรับสถานการณ์เฉพาะของคุณ