Health Connect

  
Zezwala deweloperom na odczytywanie i zapisywanie danych o stanie zdrowia i aktywności fizycznej użytkownika.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
26 lutego 2025 r. - - - 1.1.0-alpha12

Prośba o dostęp do typów danych

Aby pomóc nam w zwiększaniu prywatności i bezpieczeństwa użytkowników, deweloperzy integrujący się z Health Connect muszą zadeklarować dostęp do odczytu lub zapisu dla typów danych, których używają ich aplikacje. Deweloperzy muszą uwzględnić prawidłowe przypadki użycia typów danych, których używają, w zależności od celu aplikacji. Więcej informacji znajdziesz w artykule Podawanie informacji w formularzu deklaracji dotyczącego aplikacji związanych ze zdrowiemUprawnienia Health Connect na Androidzie.

Deklarowanie zależności

Aby dodać zależność od zdrowia, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Odlotowe

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")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Health Connect – wersja testowa 1.0

Wersja 1.0.0-alpha02

26 lutego 2025 r.

androidx.health.connect:connect-testing:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te komity.

Zmiany w interfejsie API

  • Wprowadzenie MetadataTestHelper#populatedWithTestValues do wykorzystania w testach po zmianach metadanych wprowadzonych w androidx.health.connect:connect-client:1.1.0-alpha12 (I1f7f1)
  • Usuwanie adnotacji ExperimentalTestingApiconnect-testing (I97a57)
  • Dodaje pełne szablony dla rekordów i zmian w pliku FakeHealthConnectClient (I15a4c).

Wersja 1.0.0-alpha01

4 września 2024 r.

androidx.health.connect:connect-testing:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alpha01 zawiera te komity.

Nowe funkcje

Biblioteka Health Connect Testing upraszcza tworzenie testów zautomatyzowanych. Możesz użyć tej biblioteki, aby sprawdzić zachowanie aplikacji i sprawdzić, czy reaguje ona prawidłowo w nietypowych przypadkach, które trudno jest przetestować ręcznie.

Możesz użyć tej biblioteki do tworzenia lokalnych testów jednostkowych, które zwykle weryfikują działanie klas w aplikacji, które współdziałają z klientami Health Connect.

Punktem wejścia do biblioteki jest klasa FakeHealthConnectClient, której używasz w testach do zastąpienia obiektu HealthConnectClient. Oferuje ona te funkcje:

  • reprezentacja rekordów w pamięci, dzięki której można je wstawiać, usuwać, usuwać i czytać;
  • Generowanie tokenów zmian i śledzenie zmian
  • Podział na strony rekordów i zmian
  • Odpowiedzi z wynikiem agregacji są obsługiwane za pomocą szablonów
  • Umożliwia dowolnej funkcji zgłaszanie wyjątków.
  • FakePermissionController, który można wykorzystać do emulowania sprawdzania uprawnień

Zmiany w interfejsie API

  • Dodaj FakeHealthConnectClient e8469
  • Dodaj zastąpienia w pliku Stub dla FakeHealthConnectClient e8469

Wersja 1.1

Wersja 1.1.0-alpha12

26 lutego 2025 r.

Funkcje androidx.health.connect:connect-client:1.1.0-alpha12, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha12androidx.health.connect:connect-client-proto:1.1.0-alpha12 są dostępne. Wersja 1.1.0-alpha12 zawiera te komity.

Zmiany w interfejsie API

  • Ustaw konstruktor Metadata jako wewnętrzny (I1fb8f
  • Usunięto eksperymentalną adnotację dla interfejsu API dostępności funkcji. (I5b54f)
  • Wprowadzanie metod fabryki metadanych (I8418b)
  • Wymuszenie metody rejestrowania podczas tworzenia obiektów metadanych (I3a13e)
  • Wymaganie podawania typu urządzenia podczas tworzenia obiektów Device (Ibc325)

Poprawki błędów

  • Usunięto brakujące opisy z zaplanowanych kroków i bloków ćwiczeń. (I84039)
  • Zaktualizuj dokument Java dotyczący limitów wartości ciśnienia krwi. (I8d3d4)
  • W Androidzie U i nowszych wersjach weryfikacja wartości rekordów ciśnienia krwi w Jetpacku została zastąpiona weryfikacją na platformie. (I08bf5)
  • Dodawanie źródeł danych, które przyczyniają się do wyników zbiorczych w Androidzie U i nowszych wersjach. (Ie7651)

Wersja 1.1.0-alpha11

15 stycznia 2025 r.

Funkcje androidx.health.connect:connect-client:1.1.0-alpha11, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha11androidx.health.connect:connect-client-proto:1.1.0-alpha11 są dostępne. Wersja 1.1.0-alpha11 zawiera te komity.

Nowe funkcje

  • Zaktualizowano uprawnienia do odczytu danych w tle i historii, aby obsługiwać Androida 13 i starsze wersje.

Zmiany w interfejsie API

  • Dodano inline reified overloads dla HealthPermission.getReadPermissionHealthPermission.getWritePermission (I59a2e).

Poprawki błędów

  • Usuwanie starszych metod przyznawania uprawnień (Ifd080)
  • Biblioteka ta korzysta teraz z adnotacji JSpecify dotyczących nullowania, które są używane w zależności od typu. Deweloperzy Kotlina powinni używać tych argumentów kompilatora, aby wymusić prawidłowe użycie: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Iaf73a, b/326456246).
  • Poprawiliśmy dokumentację usługi HealthPermission.READ_HEALTH_DATA_HISTORY, wskazując, że odczyty bez tego uprawnienia nie działają tylko wtedy, gdy próbujesz odczytać pojedynczy punkt danych. (Id5b5a)

Wersja 1.1.0-alpha10

16 października 2024 r.

Funkcje androidx.health.connect:connect-client:1.1.0-alpha10, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha10androidx.health.connect:connect-client-proto:1.1.0-alpha10 są dostępne. Wersja 1.1.0-alpha10 zawiera te komity.

Nowe funkcje

  • Dodano SkinTemperature typów agregacji. (Ibe123)
  • Dodano stałą FEATURE_PLANNED_EXERCISE (Ie02a3)
  • Dodano uprawnienia odczytu historii. (I5cf41)
  • Dodano interfejs API planów treningowych (If5be1).
  • Dodano interfejs SkinTemperatureRecord API. (I5605d)

Poprawki dotyczące bezpieczeństwa

  • Od momentu wprowadzenia tej zmiany androidx kompiluje się z użyciem protobuf 4.28.2, aby rozwiązać problem CVE-2024-7254. Aby rozwiązać problem z luką w zabezpieczeniach, zaktualizuj zależność od androidx.health:connect:connect-client-protoandroidx.health:connect:connect-client-external-protobuf do najnowszej wersji 1.1.0-alpha10.

Wersja 1.1.0-alpha09

18 września 2024 r.

Funkcje androidx.health.connect:connect-client:1.1.0-alpha09, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09androidx.health.connect:connect-client-proto:1.1.0-alpha09 są dostępne. Wersja 1.1.0-alpha09 zawiera te komity.

Nowe funkcje

  • Dodaj uprawnienie do odczytu w tle, chronione przez dostępność funkcji. (I01036, I44db9)

Wersja 1.1.0-alpha08

4 września 2024 r.

Funkcje androidx.health.connect:connect-client:1.1.0-alpha08, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08androidx.health.connect:connect-client-proto:1.1.0-alpha08 są dostępne. Wersja 1.1.0-alpha08 zawiera te komity.

Zmiany w interfejsie API

  • Ustaw wartość domyślną zmiennej features w funkcji HealthConnectClient. (I788dc)
  • Dodaj interfejs API, aby sprawdzić dostępność funkcji. (Iedd43)

Poprawki błędów

  • Zwracanie wartości SDK_UNAVAILABLE w elemencie HealthConnectClient.getSdkStatus(), gdy element HealthConnectManager ma wartość null w elemencie U+ 5802f.
  • Dodaj zastąpienia toString do RecordClasses aa5dc
  • Usunięto ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz we wszystkich wersjach kompilacji przy użyciu AGP 8.1 lub nowszego (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (If6b4c, b/345472586)

Wersja 1.1.0-alpha07

10 stycznia 2024 r.

androidx.health.connect:connect-client:1.1.0-alpha07 został zwolniony. Wersja 1.1.0-alpha07 zawiera te commity.

Zmiany w interfejsie API

  • Zwraca SDK_UNAVAILABLE, gdy #getSdkStatus jest wywoływany z kontekstu użytkownika profilu. (I91df3)
  • Usuń SleepStageRecord. (/If6ada)

Poprawki błędów

  • W przypadku błędów wiązania zamiast RemoteException należy stosować RemoteException.IllegalStateException (Id2233)

Wersja 1.1.0-alpha06

18 października 2023 r.

androidx.health.connect:connect-client:1.1.0-alpha06 został zwolniony. Wersja 1.1.0-alpha06 zawiera te commity.

Zmiany w interfejsie API

  • Udostępnia definicje recordingMethod. (I401fb)

Poprawki błędów

  • Dodaj dokumentację do trasy ćwiczeń, określając, że lokalizacja powinna znajdować się przed czasem zakończenia sesji. (0e51e6)

Wersja 1.1.0-alpha05

4 października 2023 roku

androidx.health.connect:connect-client:1.1.0-alpha05 został zwolniony. Wersja 1.1.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • Dodano intencję, która przekierowuje do ekranu zarządzania danymi w Health Connect. (Ibf591)
  • Usunięto przedawnione metody w AggregationResult. (Idbda9)
  • Dodano interfejs API ułatwiający tworzenie ReadRecordsRequest oraz usuwanie i odczytywanie rekordów z reifikowanym typem rekordu. (If58a5)

Poprawki błędów

  • Naprawiliśmy błąd w Androidzie 14, który powodował, że puste pola dotyczące wartości odżywczych były zwracane jako Double.MIN_VALUE. (1aa1d1)
  • Rozwiązaliśmy błąd w Androidzie 14, który powodował, że agregacja według okresu miesięcznego lub rocznego powodowała wyjątek w odpowiedzi z powodu tego, że zbiory miały ten sam czas rozpoczęcia i zakończenia. (281313)

Wersja 1.1.0-alpha04

6 września 2023 r.

androidx.health.connect:connect-client:1.1.0-alpha04 został zwolniony. Wersja 1.1.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

Poprawki błędów

Wersja 1.1.0-alpha03

26 lipca 2023 r.

androidx.health.connect:connect-client:1.1.0-alpha03 został zwolniony. Wersja 1.1.0-alpha03 zawiera te commity.

Nowe funkcje

  • Interfejs API do odczytu i zapisu tras ćwiczeń:
    • Element ExerciseRouteResult został dodany do listy ExerciseSessionRecord
    • Dodano ExerciseRouteRequestContract

Zmiany w interfejsie API

  • Dodano klasę ExerciseRouteResult i jej podklasy: Data, NoData i ConsentRequiredStates.
  • Dodano ExerciseRoute jako samodzielną klasę, która przechowuje dane o lokalizacji trasy. (I22eed)
  • Dodano PERMISSION_WRITE_EXERCISE_ROUTE. (I92fc4)
  • Dodano ExerciseRouteRequestContract, dodano HealthPermissionsRequestContract. (Ief0e5)

Poprawki błędów

  • Naprawiono konstrukcję wartości energii w kilodżulach (Ie8791)

Wersja 1.1.0-alpha02

21 czerwca 2023 r.

androidx.health.connect:connect-client:1.1.0-alpha02 został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.

Poprawki błędów

  • Naprawiono wyciek danych HealthDataSdkService (Ia3ba5)
  • Zawsze przekierowuj do odpowiedniego klienta HealthConnect, gdy prosisz o uprawnienia w Androidzie U.(I6415a)

Wersja 1.1.0-alpha01

7 czerwca 2023 r.

androidx.health.connect:connect-client:1.1.0-alpha01 został zwolniony. Ta wersja jest opracowywana w gałęzi wewnętrznej.

Nowe funkcje

  • Obsługa Health Connect w wersji platformy Android 14. Ten pakiet SDK jest wymagany na Androida 14. Bez tego nie będą one mogły integrować się z Health Connect w Androidzie 14.
  • Dodano metodę nagrywania do metadanych nagrania.

Zmiany w interfejsie API

  • Zmiany w interfejsie Session API:
    • Dodano różne fazy snu do SleepSessionRecord i usunięto SleepStageRecord.
    • Dodano ExerciseLap i ExerciseSegment do ExerciseSessionRecord.
  • Limity częstotliwości dostępu okresowego i codziennie (w tym limity pamięci) w przypadku operacji odczytu, zmian, wstawiania i usuwania.
  • Dodano weryfikację wszystkich pól NutritionRecord.
  • Dodano weryfikację dla HeartRateVariabilityRmssdRecord.
  • Usunięto 2 wycofane interfejsy API: HealthConnectClient#isProviderAvailable i HealthConnectClient#isApiSupported.

Poprawki błędów

  • Naprawiono równość jednostek dla wszystkich typów jednostek. Równość nie zależy już od typu używanego do inicjalizacji jednostki. np. Mass.grams(1000) jest teraz równa Mass.kilograms(1).

Wersja 1.0

Wersja 1.0.0-alpha11

22 lutego 2023 roku

androidx.health.connect:connect-client:1.0.0-alpha11 został zwolniony. Wersja 1.0.0-alpha11 zawiera te commity.

Zmiany w interfejsie API

  • Dodawanie intencji służącej do otwierania Health Connect. (Ic8055)
  • Usunięcie niektórych typów ćwiczeń. Zamiast usuniętych typów użyj polecenia EXERCISE_TYPE_STRENGTH_TRAINING, EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING lub EXERCISE_TYPE_CALISTHENICS. (I7291c)
  • Dodano nowy interfejs API sdkStatus(), który łączy 2 obecnie wycofane interfejsy API: isSdkSupported()isProviderAvailable(). (Iac89d)
  • Zmiana interfejsów API, które akceptują parametr providerPackageName, tak aby akceptowały pojedynczy ciąg znaków zamiast listy. (I67e0f)

Wersja 1.0.0-alpha10

25 stycznia 2023 r.

androidx.health.connect:connect-client:1.0.0-alpha10 został zwolniony. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Usługi ExerciseEventRecord, ExerciseLapRecord,ExerciseRepititionRecord i SwimmingStrokesRecord nie są już obsługiwane jako RecordTypes. Nie można już zapisywać ani odczytywać tych danych z HealthConnect. Usuń wszelkie odniesienia do tych typów danych z integracji HealthConnect. (If7ca2)
  • Zmiany w interfejsach API uprawnień, które umożliwiają akceptowanie uprawnień w nowym formacie ciągów znaków. Ta zmiana wymaga też zaktualizowania deklaracji uprawnień do standardowego formatu uprawnień na Androidzie. (Ib0a2f)

Wersja 1.0.0-alpha09

11 stycznia 2023 r.

androidx.health.connect:connect-client:1.0.0-alpha09 został zwolniony. Wersja 1.0.0-alpha09 zawiera te commity.

Nowe funkcje

  • Dodaliśmy 2 nowe typy danych dotyczących zdrowia kobiet w Health Connect: IntermenstrualBleedingRecordMenstruationPeriodRecord. MenstruationFlow.ENUMs są Lekkie, Średnie, Ciężkie i Nieznane.

Zmiany w interfejsie API

  • Dodano IntermenstrualBleedingRecord (Idc470)
  • Dodano typ rekordu MenstruationPeriodRecord (Iea545)

Wersja 1.0.0-alpha08

7 grudnia 2022 r.

androidx.health.connect:connect-client:1.0.0-alpha08 został zwolniony. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaje BodyWaterMass i HeartRateVariabilityRmssdRecord jako nowe obsługiwane typy rekordów. (Ifd58f)
  • Usuwa HipCircumferenceRecord, WaistCircumferenceRecord jako obsługiwane RecordTypes. (I62fb9)
  • Zmieniono MenstruationFlowRecord.flowstringdef na intdefs. (I0369f)
  • Zmieniliśmy pola rekordu typu enum z wartością Strings na Integers, aby zwiększyć wydajność. (I3b295)
  • Zmieniono pola typu enum ExerciseSession, ExerciseRepetitionsSleepStage z typu string na typ integer. (Id32a9)
  • Nazwa została zmieniona na ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL. (I5d7bd)
  • Dodaje wartość „Unusual” (Niezwykły) do listy CervicalMucus. Zmień nazwę „Bezbarwny” na „Biały jak śnieg”, aby była bardziej precyzyjna. Zmieniono CervicalMucus#appearance i #sensation z StringDefs na IntDefs. (I3ac51)
  • Wartość StringDef z enumeracji DeviceTypes została przeniesiona do IntDefs w sekcji Urządzenie. (I3abf3)
  • Dodaje parametr HealthConnectClient.isApiSupported(), który zwraca wartość false w przypadku wersji pakietu SDK bez zgodnych implementacji. Nazwa została zmieniona na HealthConnectClient.isAvailable->isProviderAvailable. (I3674e)

Poprawki błędów

  • Nie zezwalaj na wartości atrybutu HeartRate beatsPerMinute mniejsze niż 1 (I6052f)
  • Dodawanie adnotacji @JvmDefaultWithCompatibility (I8f206)

Wersja 1.0.0-alpha07

24 października 2022 r.

androidx.health.connect:connect-client:1.0.0-alpha07 został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.

Zmiany w interfejsie API

  • Argumenty rekordu bez wartości domyślnych są umieszczane przed argumentami z wartościami domyślnymi. Ze względu na spójność argumenty InstantZoneOffset są zawsze umieszczane na samym początku. (Id618c)
  • Zmień nazwę HealthConnectClient.getOrCreate#packageNames na providerPackageNames. (Id81e4)

Poprawki błędów

  • Dodaje walidację wartości pola rekordu. Bardzo nieprawidłowe wartości spowodują błąd IllegalArgumentExceptions, gdy podana wartość wykracza poza rozsądne granice. (Ie171d)
  • Sprawdza, czy czas rozpoczęcia rekordu jest wcześniejszy niż czas zakończenia. (I02460)

Wersja 1.0.0-alpha06

5 października 2022 r.

androidx.health.connect:connect-client:1.0.0-alpha06 został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.

Poprawki błędów

  • Poprawia cykl życia połączenia z usługą. (If2bd5)
  • Naprawiono błąd powodujący awarię NPE, gdy wyjątek został zgłoszony w ramach połączenia z usługą. (I13546)

Wersja 1.0.0-alpha05

21 września 2022 r.

androidx.health.connect:connect-client:1.0.0-alpha05 został zwolniony. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmieniono nazwę Metadata.uid -> Metadata.id i stosowano konsekwentnie terminologię recordId w powiązanych interfejsach API CRUD. (I3d1d2)
  • Zmiana metody PermissionController.createRequestPermissionActivityContract z metody instancji na metodę statyczną. Nazwa została zmieniona na PermissionController.createRequestPermissionResultContract. (Icd2fe)
  • Dodano typ jednostki BloodGlucose dla BloodGlucoseRecord (I9767)
  • Zmień nazwę MenstruationRecord > MenstruationFlowRecord. (I3b88e)

Poprawki błędów

  • Rozwiązanie problemu polegającego na tym, że nie rozpowszechniano statystyk dotyczącego pierwszego planu z procesu klienta. (Ifb44c)

Wersja 1.0.0-alpha04

24 sierpnia 2022 r. androidx.health.connect:connect-client:1.0.0-alpha04 została opublikowana. Wersja 1.0.0-alpha04 zawiera te commity.

Migracja do pakietu androidx.health.connect

Od wersji 1.0.0-alpha04 strona androidx.health:health-connect-client została przeniesiona do strony androidx.health.connect:connect-client. Informacje o poprzednich wersjach Health Connect znajdziesz na stronie androidx.health.

Aby przeprowadzić migrację, po prostu zmień import zależności z androidx.health:health-connect-client:1.0.0-alpha03 na androidx.health.connect:connect-client:1.0.0-alpha04.

Nowe funkcje

  • Opcjonalne logi debugowania wbudowane w wywołania interfejsu API (link)

Zmiany w interfejsie API

  • Nazwa metadanych clientId została zmieniona na clientRecordId, a clientVersion na clientRecordVersion. (link)
  • Uid metadanych jest teraz bardziej przyjazny dla czytelników i nie może być już pusty. (link)
  • Dodano funkcję „Masa” (link)
  • Nazwa „DeletionChange.deleteUid” została zmieniona na „uid” (link)
  • Zmień nazwę uprawnienia na HealthPermission. Pozwala to uniknąć niejednoznaczności w przypadku uprawnień Android Framework. (link)

Poprawki błędów

  • Rozwiązano problemy z regresją dotyczącą nieprawidłowej jednostki kalorii w przypadku wartości energetycznej (link)
  • Rozwiązano problem z regresją dotyczący agregacji niektórych typów rekordów (link)