Health Connect
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 zdrowiem i Uprawnienia 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ą.
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-alpha11
i androidx.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.getReadPermission
iHealthPermission.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-alpha10
i androidx.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-proto
iandroidx.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-alpha09
i androidx.health.connect:connect-client-proto:1.1.0-alpha09
są dostępne. Wersja 1.1.0-alpha09 zawiera te komity.
Nowe funkcje
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-alpha08
i androidx.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 elementachHealthConnectClient.getSdkStatus()
, gdy elementHealthConnectManager
ma wartość null w elementach U+ 5802f - Dodaj zastąpienia
toString
doRecordClasses
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
- Tylko w języku Java: zmień nazwę pola
getHasMore()
w plikuChangesResponse
nahasMore()
. (I80695) - Dopasuj
HealthPermissionsRequestContract#createIntent
sprawdzenie do wszystkich wersji Androida. Umowa sprawdza, czy wszystkie uprawnienia dotyczą danych o stanie zdrowia. (I143fc)
Poprawki błędów
- Naprawić wyjątek, który jest zgłaszany, gdy
ExerciseSessionRecord
jest tworzony zExerciseRoute
zawierającym pustą listę lokalizacji. (I45c16) - Zaktualizuj dokumentację
SleepSessionRecord
i przykładowy kod do odczytu sesji snu. (Idf0de)
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 listyExerciseSessionRecord
- Dodano
ExerciseRouteRequestContract
- Element
Zmiany w interfejsie API
- Dodano klasę
ExerciseRouteResult
i jej podklasy:Data
,NoData
iConsentRequiredStates
. - Dodano
ExerciseRoute
jako samodzielną klasę, która zawiera dane o lokalizacji trasy. (I22eed) - Dodano
PERMISSION_WRITE_EXERCISE_ROUTE
. (I92fc4) - Dodano
ExerciseRouteRequestContract
, dodanoHealthPermissionsRequestContract
. (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ętoSleepStageRecord
. - Dodano
ExerciseLap
iExerciseSegment
doExerciseSessionRecord
.
- Dodano różne fazy snu do
- 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
iHealthConnectClient#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
lubEXERCISE_TYPE_CALISTHENICS
. (I7291c) - Dodano nowy interfejs API
sdkStatus()
, który łączy 2 obecnie wycofane interfejsy API:isSdkSupported()
iisProviderAvailable()
. (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
,ExerciseRepititionRecord
iSwimmingStrokesRecord
nie są już obsługiwane jakoRecordTypes
. Nie można już zapisywać ani odczytywać tych danych zHealthConnect
. Usuń wszelkie odniesienia do tych typów danych z integracjiHealthConnect
. (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:
IntermenstrualBleedingRecord
iMenstruationPeriodRecord
.MenstruationFlow.ENUMs
są Lekkie, Średnie, Ciężkie i Nieznane.
Zmiany w interfejsie API
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
iHeartRateVariabilityRmssdRecord
jako nowe obsługiwane typy rekordów. (Ifd58f) - Usuwa
HipCircumferenceRecord
,WaistCircumferenceRecord
jako obsługiwaneRecordTypes
. (I62fb9) - Zmieniono
MenstruationFlowRecord.flow
zstringdef
naintdefs
. (I0369f) - Zmieniliśmy pola rekordu typu enum z wartością
Strings
naIntegers
, aby zwiększyć wydajność. (I3b295) - Zmieniono pola typu enum
ExerciseSession
,ExerciseRepetitions
iSleepStage
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. ZmienionoCervicalMucus#appearance
i #sensation zStringDefs
na IntDefs. (I3ac51) - Wartość
StringDef
z enumeracjiDeviceTypes
została przeniesiona doIntDefs
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 naHealthConnectClient.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
Instant
iZoneOffset
są zawsze umieszczane na samym początku. (Id618c) - Zmień nazwę
HealthConnectClient.getOrCreate#packageNames
naproviderPackageNames
. (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 naPermissionController.createRequestPermissionResultContract
. (Icd2fe) - Dodano typ jednostki
BloodGlucose
dlaBloodGlucoseRecord
(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 naclientRecordId
, aclientVersion
naclientRecordVersion
. (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)