סוגי הנתונים ב-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 מאוחסן מידע על המכשיר שממנו הגיעו הנתונים. הוא מכיל את היצרן והדגם של המכשיר, ואתם צריכים לספק את הערך באופן ידני.
- מזהה לקוח: 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. עם זאת, יכול להיות שהמערכת לא תצליח לעשות זאת במצבים מסוימים, למשל אם לא צוין היסט אזור הזמן. צריך להכין את האפליקציה לטיפול בשני סוגי הנתונים, באופן שמתאים לנסיבות הספציפיות שלכם.