Health Connect

  
Umożliwia deweloperom odczytywanie i zapisywanie danych o stanie zdrowia i kondycji użytkownika.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
15 stycznia 2025 r. - - - 1.1.0-alpha11

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 do 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. Daj nam znać, jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. 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-alpha01

4 września 2024 r.

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

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ółpracują z 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 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-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 komisy.

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

  • Usuń starsze metody 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 elementach HealthConnectClient.getSdkStatus(), gdy element HealthConnectManager ma wartość null w elementach 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 publicznie 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 zawiera 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 się integrować 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 (w tym limity pamięci) dla 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. Przykład: Mass.grams(1000) jest teraz równe 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 przyjmują parametr providerPackageName, tak aby przyjmował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,ExerciseRepititionRecordSwimmingStrokesRecord 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ż zastąpienia deklaracji uprawnień standardowym formatem uprawnień Androida. (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 „Unusual” 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 commity.

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 rozprzestrzeniano statystyk dotyczącego tła 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 androidx.health:health-connect-client zostało przeniesione do 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)
  • Zmiana metadanych uid, aby były bardziej czytelne dla użytkowników i nie mogły być wartościami pustymi. (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 w przypadku kilku typów rekordów (link)