פורמט של סוג נתונים ב-Health Connect

סוגי הנתונים ב-Health Connect מאוחסנים באובייקטים שהם מחלקות משנה של Record.

לכל סוג נתונים יש שדות משויכים שהם כלליים, כמו time ו-zoneOffset, או ספציפיים, כמו title, ‏ count ו-percentage. בשדות מסוימים נעשה שימוש בסוגים בסיסיים – כמו long,‏ double או string – ובשדות אחרים נעשה שימוש בסוגים מורכבים כמו מנייה (enumeration) ומחלקות כמו Instant ו-ZoneOffset. המאפיינים של השדות האלה יכולים להיות חובה או אופציונליים. חלק מהמאפיינים הם לקריאה בלבד, וחלק מהמאפיינים מוגבלים לטווח ערכים ספציפי.

רשימה מלאה של סוגי הנתונים הזמינים והשדות שלהם מופיעה במאמר על המחלקות ב-Jetpack.

מאפייני מטא-נתונים

הנתונים ב-Health Connect API כוללים גם מאפייני מטא-נתונים שמתוארים ברשימה הבאה:

  • מזהה Health Connect: לכל נקודת נתונים מוקצה מזהה ייחודי (UID) בזמן היצירה. האפשרות הזו שימושית לפעולות קריאה וכתיבה רגילות. פרטים נוספים מופיעים במאמר בנושא מזהה Health Connect.
  • זמן השינוי האחרון: חותמת הזמן של המועד האחרון שבו רשומה עודכנה. הוא נוצר אוטומטית בפעם הראשונה שיוצרים את הרשומה או בכל עדכון.
  • מקור הנתונים: ב-Health Connect מאוחסן מידע על האפליקציה שממנה הגיעו הנתונים. הוא מכיל את שם החבילה של המקור הזה, שנוסף באופן אוטומטי בזמן היצירה.
  • מכשיר: ב-Health Connect מאוחסן מידע על המכשיר שממנו הגיעו הנתונים. רק סוג המכשיר הוא חובה. כל השדות האחרים (יצרן, דגם, שם מוצג ומזהה מכשיר ייחודי (UDI)) הם אופציונליים.
  • מזהה לקוח: Health Connect מספק מזהי לקוח כדי שאפליקציות לקוח יוכלו להפנות לנתונים באמצעות המזהים שלהן. כך קל יותר לפתור בעיות בסנכרון. הערך הזה מתווסף לרשומה באופן ידני.
  • גרסת רשומת הלקוח: בנוסף ל-Client ID, ‏ 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. עם זאת, יכול להיות שהיא לא תצליח לעשות זאת במצבים מסוימים, למשל אם לא צוין היסט אזור הזמן. האפליקציה צריכה להיות מוכנה להתמודד עם שני סוגי הנתונים, באופן שמתאים לנסיבות הספציפיות שלכם.