Health Connect

  
מאפשרת למפתחים לקרוא או לכתוב את רשומות הבריאות והכושר של המשתמשים.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
15 בינואר 2025 - - - 1.1.0-alpha11

שליחת בקשה לקבלת גישה לסוגי נתונים

כדי לעזור לנו לשפר את הפרטיות והאבטחה של המשתמשים, מפתחים שמשתמשים ב-Health Connect חייבים להצהיר על גישה לקריאה ו/או לכתיבה לגבי סוגי הנתונים שבהם האפליקציות שלהם משתמשות. המפתחים חייבים לכלול תרחישי שימוש תקפים לסוגים של הנתונים שבהם הם משתמשים, על סמך מטרת האפליקציה. למידע נוסף, אפשר לעיין במאמרים הוספת מידע לטופס ההצהרה על אפליקציות בתחום הבריאות והרשאות ל-Health Connect ל-Android.

הצהרת יחסי תלות

כדי להוסיף תלות ב-health, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

Groovy

dependencies {
    // Use to implement health connects
    implementation "androidx.health.connect:connect-client:1.1.0-alpha08"
}

Kotlin

dependencies {
    // Use to implement health connects
    implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

גרסה 1.0 לבדיקה של Health Connect

גרסה 1.0.0-alpha01

4 בספטמבר 2024

androidx.health.connect:connect-testing:1.0.0-alpha01 משוחרר. גרסת 1.0.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

ספריית הבדיקה של Health Connect מפשטת את היצירה של בדיקות אוטומטיות. אפשר להשתמש בספרייה הזו כדי לאמת את ההתנהגות של האפליקציה ולוודא שהיא מגיבה בצורה נכונה למקרים נדירים שקשה לבדוק באופן ידני.

אפשר להשתמש בספרייה כדי ליצור בדיקות יחידה מקומיות, שבדרך כלל מאמתות את ההתנהגות של הכיתות באפליקציה שמקיימות אינטראקציה עם לקוח Health Connect.

נקודת הכניסה לספרייה היא המחלקה FakeHealthConnectClient, שבה משתמשים בבדיקות כדי להחליף את HealthConnectClient. התכונות הבאות נכללות בה:

  • ייצוג של רשומות בזיכרון, כך שאפשר להוסיף, להסיר, למחוק ולקרוא אותן
  • יצירת אסימוני שינוי ומעקב אחר שינויים
  • חלוקה לדפים של רשומות ושינויים
  • תמיכה בתשובות על צבירת נתונים באמצעות stubs
  • מאפשר לכל פונקציה להוציא חריגים
  • FakePermissionController שאפשר להשתמש בו כדי לדמות בדיקות הרשאות

שינויים ב-API

  • הוספה של FakeHealthConnectClient e8469
  • הוספת שינויים ברירת המחדל של סטאב ל-FakeHealthConnectClient e8469

גרסה 1.1

גרסה 1.1.0-alpha11

15 בינואר 2025

התכונות androidx.health.connect:connect-client:1.1.0-alpha11, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha11 וגם androidx.health.connect:connect-client-proto:1.1.0-alpha11 משוחררות. גרסת 1.1.0-alpha11 מכילה את ההוספות האלה.

תכונות חדשות

  • עדכנו את הרשאות הקריאה ברקע ובהיסטוריה כדי לתמוך ב-Android 13 וגרסאות קודמות.

שינויים ב-API

  • נוספו עומסי יתר מפורטים בקוד ל-HealthPermission.getReadPermission ול-HealthPermission.getWritePermission (I59a2e)

תיקוני באגים

  • הסרת שיטות הרשאה מדור קודם (Ifd080)
  • הספרייה הזו משתמשת עכשיו בהערות של JSpecify לגבי ערכים null, שהן שימוש בסוגים. מפתחי Kotlin צריכים להשתמש בארגומנטים הבאים של המהדר כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Iaf73a, b/326456246)
  • תוקנו מסמכי התיעוד של HealthPermission.READ_HEALTH_DATA_HISTORY, במיוחד בכך שצוין שקריאות ללא ההרשאה הזו נכשלות רק כשמנסים לקרוא נקודת נתונים אחת. (Id5b5a)

גרסה 1.1.0-alpha10

16 באוקטובר 2024

התכונות androidx.health.connect:connect-client:1.1.0-alpha10, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha10 וגם androidx.health.connect:connect-client-proto:1.1.0-alpha10 משוחררות. גרסת 1.1.0-alpha10 מכילה את ההוספות האלה.

תכונות חדשות

  • נוספו SkinTemperature סוגי צבירת נתונים. (Ibe123)
  • הוספה של הקבוע FEATURE_PLANNED_EXERCISE‏ (Ie02a3)
  • נוספו הרשאות קריאה להיסטוריה. (I5cf41)
  • נוספה האפשרות להשתמש ב-Training plans API (If5be1)
  • הוספת ה-API של SkinTemperatureRecord. (I5605d)

תיקוני אבטחה

  • החל מהשינוי הזה, androidx מבצע קומפילציה מול protobuf 4.28.2 כדי לטפל בבעיה CVE-2024-7254. כדי לטפל בסיכון של נקודת החולשה, צריך לשדרג את התלות ב-androidx.health:connect:connect-client-proto וב-androidx.health:connect:connect-client-external-protobuf לגרסה העדכנית ביותר, 1.1.0-alpha10.

גרסה 1.1.0-alpha09

18 בספטמבר 2024

התכונות androidx.health.connect:connect-client:1.1.0-alpha09, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09 וגם androidx.health.connect:connect-client-proto:1.1.0-alpha09 משוחררות. גרסת 1.1.0-alpha09 מכילה את ההוספות האלה.

תכונות חדשות

  • הוספת הרשאה לקריאה ברקע, שמוגנת על ידי זמינות התכונה. (I01036, ‏ I44db9)

גרסה 1.1.0-alpha08

4 בספטמבר 2024

התכונות androidx.health.connect:connect-client:1.1.0-alpha08, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08 וגם androidx.health.connect:connect-client-proto:1.1.0-alpha08 משוחררות. גרסת 1.1.0-alpha08 כוללת את ההוספות האלה.

שינויים ב-API

  • מגדירים ערך ברירת מחדל למשתנה features בקובץ HealthConnectClient. (I788dc)
  • מוסיפים ממשק API כדי לבדוק את הזמינות של התכונות. (Iedd43)

תיקוני באגים

  • הפונקציה מחזירה את הערך SDK_UNAVAILABLE ב-HealthConnectClient.getSdkStatus() כאשר הערך של HealthConnectManager הוא null ב-U+ 5802f
  • הוספת שינויים מברירת המחדל של toString ל-RecordClasses aa5dc
  • הסרנו את התיאור הידני של הגישה לממשקי API חדשים של פלטפורמות, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של ממשקי API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל, R8 גרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP 8.1 ואילך (למשל, D8 גרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלצים לעדכן ל-D8 בגרסה 8.1 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (If6b4c, ‏ b/345472586)

גרסה 1.1.0-alpha07

10 בינואר 2024

androidx.health.connect:connect-client:1.1.0-alpha07 משוחרר. גרסה 1.1.0-alpha07 מכילה את ההוספות האלה.

שינויים ב-API

  • מחזירים את הערך SDK_UNAVAILABLE כש#getSdkStatus נקרא בהקשר של משתמש בפרופיל. (I91df3)
  • מסירים את SleepStageRecord. (‎/If6ada)

תיקוני באגים

  • זריקה של RemoteException במקום IllegalStateException כשיש כשלים בקישור. (Id2233)

גרסה 1.1.0-alpha06

18 באוקטובר 2023

androidx.health.connect:connect-client:1.1.0-alpha06 משוחרר. גרסה 1.1.0-alpha06 מכילה את ההוספות האלה.

שינויים ב-API

  • הופכת את ההגדרות של recordingMethod לציבוריות. (I401fb)

תיקוני באגים

  • מוסיפים תיעוד למסלול התרגיל ומציינים שהמיקום צריך להיות לפני שעת הסיום של הסשן. (0e51e6)

גרסה 1.1.0-alpha05

4 באוקטובר 2023

androidx.health.connect:connect-client:1.1.0-alpha05 משוחרר. גרסה 1.1.0-alpha05 מכילה את ההוספות האלה.

שינויים ב-API

  • נוספה כוונה שמובילה למסך ניהול הנתונים ב-Health Connect. (Ibf591)
  • הוסרו שיטות שהוצאו משימוש ב-AggregationResult. (Idbda9)
  • הוספנו ממשק API נוח ליצירת ReadRecordsRequest, וגם למחיקת רשומות ולקריאת רשומות, עם סוג רשומה מופשט. (If58a5)

תיקוני באגים

  • תוקן באג ב-Android 14 שבו שדות תזונתיים שהיו null הוחזרו כ-Double.MIN_VALUE. (1aa1d1)
  • תוקן באג ב-Android 14 שבו צבירה לפי תקופה חודשית/שנתית גרמה להשלכת חריגה בתגובה בגלל קטגוריות עם אותה שעת התחלה/סיום. (281313)

גרסה 1.1.0-alpha04

6 בספטמבר 2023

androidx.health.connect:connect-client:1.1.0-alpha04 משוחרר. גרסה 1.1.0-alpha04 מכילה את ההוספות האלה.

שינויים ב-API

תיקוני באגים

גרסה 1.1.0-alpha03

26 ביולי 2023

androidx.health.connect:connect-client:1.1.0-alpha03 משוחרר. גרסה 1.1.0-alpha03 כוללת את השמירות האלה.

תכונות חדשות

  • ממשק API לקריאה ולכתיבה של מסלולי אימון:
    • הוספת את ExerciseRouteResult אל ExerciseSessionRecord
    • האפשרות ExerciseRouteRequestContract נוספה

שינויים ב-API

  • נוספו ExerciseRouteResult ותתי-הסוג שלו: Data, ‏ NoData ו-ConsentRequiredStates.
  • נוספה ExerciseRoute ככיתה עצמאית שמכילה את נתוני המיקום של המסלול. (I22eed)
  • ההוספה של PERMISSION_WRITE_EXERCISE_ROUTE התבצעה. (I92fc4)
  • נוסף ExerciseRouteRequestContract, נוסף HealthPermissionsRequestContract. (Ief0e5)

תיקוני באגים

  • מבנה קבוע של אנרגיה בקילוג'אול (Ie8791)

גרסה 1.1.0-alpha02

21 ביוני 2023

androidx.health.connect:connect-client:1.1.0-alpha02 משוחרר. גרסה 1.1.0-alpha02 מכילה את ההוספות האלה.

תיקוני באגים

  • תוקן הדליפה של HealthDataSdkService (Ia3ba5)
  • תמיד צריך להפנות ללקוח HealthConnect הנכון כשמבקשים הרשאות ב-Android U.‏ (I6415a)

גרסה 1.1.0-alpha01

7 ביוני 2023

androidx.health.connect:connect-client:1.1.0-alpha01 משוחרר. הגרסה הזו מפותחת בהסתעפות פנימית.

תכונות חדשות

  • תמיכה בגרסת ה-framework של Health Connect ל-Android 14. ערכת ה-SDK הזו היא דרישה מוקדמת ל-Android 14. בלי הרשאה כזו, אפליקציות לא יוכלו לשלב את עצמן עם Health Connect ב-Android 14.
  • נוספה שיטת הקלטה לתיעוד המטא-נתונים.

שינויים ב-API

  • השינויים ב-Session API:
    • נוספו שלבי שינה שונים ל-SleepSessionRecord והוסר SleepStageRecord.
    • הוספת את ExerciseLap ואת ExerciseSegment ל-ExerciseSessionRecord.
  • מגבלות קצב תקופתיות ויומיות (כולל מגבלות זיכרון) על פעולות קריאה, שינוי ביומן, הוספה ומחיקה.
  • נוספה בדיקת תקינות לכל השדות מסוג NutritionRecord.
  • נוסף אימות עבור HeartRateVariabilityRmssdRecord.
  • שני ממשקי API שהוצאו משימוש הוסרו: HealthConnectClient#isProviderAvailable ו-HealthConnectClient#isApiSupported.

תיקוני באגים

  • שוויון קבוע של יחידות לכל סוגי היחידות, והשוויון לא תלוי יותר בסוג שמשמש להפעלה של היחידות. לדוגמה, Mass.grams(1000) שווה עכשיו ל-Mass.kilograms(1).

גירסה 1.0

גרסה 1.0.0-alpha11

22 בפברואר 2023

androidx.health.connect:connect-client:1.0.0-alpha11 משוחרר. גרסה 1.0.0-alpha11 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספת כוונה לשימוש לפתיחת Health Connect. (Ic8055)
  • הסרת חלק מסוגי התרגילים. משתמשים ב-EXERCISE_TYPE_STRENGTH_TRAINING, ב-EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING או ב-EXERCISE_TYPE_CALISTHENICS במקום בסוגי השימושים שהוסרו. (I7291c)
  • הוספת ממשק API חדש, sdkStatus(), שמאחד את שני ממשקי ה-API הקודמים isSdkSupported() ו-isProviderAvailable(). (Iac89d)
  • שינוי ממשקי ה-API שמקבלים את providerPackageName כך שיקבלו מחרוזת אחת במקום רשימה. (I67e0f)

גרסה 1.0.0-alpha10

25 בינואר 2023

androidx.health.connect:connect-client:1.0.0-alpha10 משוחרר. גרסה 1.0.0-alpha10 מכילה את ההצהרות האלה.

שינויים ב-API

  • ExerciseEventRecord, ‏ ExerciseLapRecord,‏ ExerciseRepititionRecord ו-SwimmingStrokesRecord כבר לא נתמכים כ-RecordTypes. לא ניתן יותר לכתוב אותם או לקרוא אותם מ-HealthConnect. מסירים את כל ההפניות לסוגים האלה של נתונים מהשילוב עם HealthConnect. (If7ca2)
  • שינויים ב-API של ההרשאות כדי לקבל הרשאות בפורמט חדש שמבוסס על מחרוזת. השינוי הזה מחייב גם שינוי של הצהרת ההרשאות לפורמט ההרשאות הרגיל של Android. (Ib0a2f)

גרסה 1.0.0-alpha09

11 בינואר 2023

androidx.health.connect:connect-client:1.0.0-alpha09 משוחרר. גרסה 1.0.0-alpha09 מכילה את ההוספות האלה.

תכונות חדשות

  • נוספו ל-Health Connect 2 סוגי נתונים חדשים בנושא בריאות נשים: IntermenstrualBleedingRecord ו-MenstruationPeriodRecord. MenstruationFlow.ENUMs הן 'קלה', 'בינונית', 'כבדה' ו'לא ידועה'.

שינויים ב-API

  • נוספה IntermenstrualBleedingRecord (Idc470)
  • נוסף סוג הרשומה MenstruationPeriodRecord (Iea545)

גרסה 1.0.0-alpha08

7 בדצמבר 2022

androidx.health.connect:connect-client:1.0.0-alpha08 משוחרר. גרסה 1.0.0-alpha08 מכילה את ההצהרות האלה.

שינויים ב-API

  • הוספת BodyWaterMass, ‏ HeartRateVariabilityRmssdRecord כסוגי רשומות נתמכים חדשים. (Ifd58f)
  • הסרה של HipCircumferenceRecord, WaistCircumferenceRecord כ-RecordTypes נתמך. (I62fb9)
  • הערך בשדה MenstruationFlowRecord.flow השתנה מ-stringdef ל-intdefs. (I0369f)
  • שינו שדות רשומה דמויי-enum עם Strings ל-Integers כדי לשפר את הביצועים. (I3b295)
  • השדות ExerciseSession,‏ ExerciseRepetitions ו-SleepStage, שדומים למאפייני enum, הועברו מסוג מחרוזת לסוג מספר שלם. (Id32a9)
  • השם השתנה ל-ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL. (I5d7bd)
  • הוספת הערך 'Unusual' למערכי הערכים של CervicalMucus. כדי להוסיף יותר פרטים, אפשר לשנות את השם של 'שקוף' ל'לבן'. השינויים: CervicalMucus#appearance ו-#sensation השתנה מ-StringDefs ל-IntDefs. (I3ac51)
  • הערך StringDef של המאפיין המסווג DeviceTypes הועבר עכשיו ל-IntDefs בקטע Device (מכשיר). (I3abf3)
  • הוספת HealthConnectClient.isApiSupported(), שמחזיר את הערך false בגרסאות SDK ללא הטמעות תואמות. השם השתנה ל-HealthConnectClient.isAvailable->isProviderAvailable. (I3674e)

תיקוני באגים

  • איסור על ערכים של HeartRate beatsPerMinute שקטנים מ-1 (I6052f)
  • הוספת הערה @JvmDefaultWithCompatibility (I8f206)

גרסה 1.0.0-alpha07

24 באוקטובר 2022

androidx.health.connect:connect-client:1.0.0-alpha07 משוחרר. גרסה 1.0.0-alpha07 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

שינויים ב-API

  • ארגומנטים של רשומות ללא ערכי ברירת מחדל מופיעים לפני ארגומנטים עם ערכי ברירת מחדל. כדי לשמור על עקביות, הארגומנטים Instant ו-ZoneOffset תמיד ממוקמים בהתחלה. (Id618c)
  • משנים את השם של HealthConnectClient.getOrCreate#packageNames ל-providerPackageNames. (Id81e4)

תיקוני באגים

  • הוספת אימותים של ערכי שדות ברשומה. ערכים שגויים מאוד יגרמו להפעלת השגיאה IllegalArgumentExceptions כשהערך שסופק יהיה מחוץ לגבולות סבירים. (Ie171d)
  • אימות שעת ההתחלה של הרשומה לפני שעת הסיום, במקרים הרלוונטיים. (I02460)

גרסה 1.0.0-alpha06

5 באוקטובר 2022

androidx.health.connect:connect-client:1.0.0-alpha06 משוחרר. גרסה 1.0.0-alpha06 כוללת את ההצהרות האלה.

תיקוני באגים

  • שיפור מחזור החיים של חיבורי השירות. (If2bd5)
  • תיקון באג קריסה מסוג NPE כשמתרחשת חריגה בחיבור לשירות. (I13546)

גרסה 1.0.0-alpha05

21 בספטמבר 2022

androidx.health.connect:connect-client:1.0.0-alpha05 משוחרר. גרסה 1.0.0-alpha05 מכילה את ההוספות האלה.

שינויים ב-API

  • שינינו את השם של Metadata.uid ל-Metadata.id והשתמשנו במונח recordId באופן עקבי בממשקי ה-API הרלוונטיים של CRUD. (I3d1d2)
  • הפכנו את PermissionController.createRequestPermissionActivityContract לשיטה סטטית במקום לשיטת מכונה. השם החדש הוא PermissionController.createRequestPermissionResultContract. (Icd2fe)
  • נוסף סוג יחידה BloodGlucose עבור BloodGlucoseRecord (I97678)
  • משנים את השם של MenstruationRecord ל-MenstruationFlowRecord. (I3b88e)

תיקוני באגים

  • תיקון התנהגות לא מכוונת שלא מפיצה נתונים סטטיסטיים של חזית התצוגה מתהליך הלקוח. (Ifb44c)

גרסה 1.0.0-alpha04

24 באוגוסט 2022 androidx.health.connect:connect-client:1.0.0-alpha04 פורסם. גרסה 1.0.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים.

מעבר ל-'androidx.health.connect'

החל מגרסה 1.0.0-alpha04, האתר androidx.health:health-connect-client הועבר אל androidx.health.connect:connect-client. לגרסאות קודמות של Health Connect, אפשר להיכנס לדף androidx.health.

כדי להעביר את הקוד, פשוט משנים את ייבוא יחסי התלות מ-androidx.health:health-connect-client:1.0.0-alpha03 ל-androidx.health.connect:connect-client:1.0.0-alpha04.

תכונות חדשות

  • יומני ניפוי באגים אופציונליים מובנים לקריאות ל-API (קישור)

שינויים ב-API

  • השם של המטא-נתונים clientId השתנה ל-clientRecordId, והשם של clientVersion השתנה ל-clientRecordVersion. (קישור)
  • שיפרנו את הקריאוּת של המזהה של המטא-נתונים, והוא לא יכול להיות null יותר. (קישור)
  • הוספת פאונד ליחידת מסה (קישור)
  • השם של DeletionChange.deleteUid השתנה ל-uid (קישור)
  • שינוי שם ההרשאה -> HealthPermission. כך אפשר להימנע מבלבול עם הרשאות של Android Framework. (קישור)

תיקוני באגים

  • תוקנו בעיות רגרסיה ביחידה שגויה של קלוריות בנתוני האנרגיה (קישור)
  • תוקנה בעיית רגרסיה עם צבירת נתונים עבור כמה סוגי רשומות (קישור)