Stan
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
11 grudnia 2024 r. | - | 1.0.0-rc02 | - | 1.1.0-alpha05 |
Deklarowanie zależności
Aby dodać zależność od Health, 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 { implementation "androidx.health:health-services-client:1.1.0-alpha03" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha03") }
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 dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Klient Health Connect w wersji 1.0
Wersja 1.0.0-alpha04
24 sierpnia 2022 r.
Od wersji 1.0.0-alpha04 androidx.health:health-connect-client
została przeniesiona do androidx.health.connect:connect-client
. W przyszłości użyj androidx.health.connect:connect-client
i powiązanych informacji o wersji na stronie Health Connect.
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
.
Wersja 1.0.0-alpha03
27 lipca 2022 roku
androidx.health:health-connect-client:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Nowe funkcje
- Podsumowanie nowych zmian w interfejsach API: do interfejsów API odczytu, zapisu i zbiorczych dodano zestaw jednostek. Aplikacje mogą teraz pobierać i zapisywać rekordy w wybranych jednostkach, np. w gramach lub miligramach w przypadku składników odżywczych
NutritionRecord
.
Zmiany w interfejsie API
- Popraw
List<DataOrigin>
naSet<DataOrigin>
w różnych obiektach odpowiedzi na żądanie. (I42342) - Naprawiono jednostkę całkowitych podstawowych kalorii z Power >Energy. (I0b429)
- Przeniesione serie z klasami próbnymi wewnątrz rekordów serii (Ica9bb):
CyclingPedalingCadence
->CyclingPedalingCadenceRecord.Sample
HeartRate
->HeartRateRecord.Sample
StepsCadence
->StepsCadenceRecord.Sample
- wycofanie klasy
HealthDataRequestPermission
na rzecz klasyPermissionController.createRequestPermissionActivityContract
, co ułatwia ich znajdowanie i jednolitą parametryzację; (I81e7f) - Dodano uncje płynne amerykańskie do sekcji Objętość. (I5f03d)
- Dodano typ jednostki prędkości (I1d574).
- Dodano typ jednostki Odsetek (I08f23).
- Dodano typ jednostki ciśnienia (Ifb01f).
- Dodano typ jednostki masy (Ifd81a).
- Dodano typ jednostki objętości (I59ad1).
- Dodano typ jednostki mocy. Przeniesiono przykładową klasę z serii Power do klasy
PowerRecord
. (I5b1e5) - Dodano typ jednostki energii (I983ae).
- Dodano typ jednostki temperatury (I4cdb5).
- Zmień nazwy odwołań do aktywności, aby dotyczyły tylko ćwiczeń, w tym (I3f936):
- Nazwa została zmieniona z
ActivityLap
naExerciseLapRecord
- Nazwa została zmieniona z
ActivityEvent
naExerciseEventRecord
- Nazwa została zmieniona z
Repetitions
naExerciseRepetitionsRecord
- Nazwa została zmieniona z
ActivitySession
naExerciseSessionRecord
- Nazwa została zmieniona z
- Metadane pakietu zostały przeniesione do rekordów. (Ie0835)
- Jednostka długości użyta we wszystkich pozostałych rekordach (Ib10dd):
ActivityLapRecord
ElevationGainedRecord
HeightRecord
HipCircumferenceRecord
WaistCircumferenceRecord
- Dodano typ jednostki długości (Idae39).
- Zaktualizowano terminologię w opisie
CervicalMucus
(I25a2b):CervicalMucus.Amount
->CervicalMucusRecord.Texture
CervicalMucus.Appearance
->CervicalMucusRecord.Sensation
- Dodano sufiks „Record” do wszystkich nazw klas rekordów (I1ffc2).
Poprawki błędów
- Rozwiązanie problemów z proguardem, gdy biblioteka została skompilowana z wersją wydania i opcją
minifyEnabled
równą true. (I78933) - Ukrywa dokumentację, która nie jest przeznaczona do użytku publicznego. (I7a08f)
- Rozwiązuje problem w klientach, którzy mogą mieć własne zależności protobuf.(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)
Wersja 1.0.0-alpha02
1 czerwca 2022 r.
androidx.health:health-connect-client:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wycofane funkcje
hasMetric
igetMetric
wAggregationResult
, dodane operatory zawiera i pobierz (I7cc7c) - Dodaje
OvulationTest.Result.HIGH
iOvulationTest.Result.INCONCLUSIVE
. (I9f9c4)
Poprawki błędów
- Zmniejsz wymagania dotyczące pakietu SDK do 26. (I6d201)
Wersja 1.0.0-alpha01
11 maja 2022 roku
androidx.health:health-connect-client:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
- Interfejs API do odczytywania danych o aktywności fizycznej i stanie zdrowia udostępnianych przez inne aplikacje.
- Interfejs API do zapisywania danych o aktywności fizycznej i zdrowiu na potrzeby udostępniania ich innym aplikacjom.
- Interfejs API do pobierania zagregowanych danych dla dostępnych rekordów.
- Interfejs API do pobierania przyrostowych zmian (dodawania, aktualizowania i usuwania) rekordów przez inne aplikacje.
- interfejs API do prośby o uprawnienia dotyczące zdrowia;
- interfejs API do sprawdzania uprawnień lub odwoływania przyznanych uprawnień do kontroli stanu;
Health Services Client Version 1.1
Wersja 1.1.0-alpha05
11 grudnia 2024 r.
Funkcje androidx.health:health-services-client:1.1.0-alpha05
, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05
i androidx.health:health-services-client-proto:1.1.0-alpha05
są dostępne. Wersja 1.1.0-alpha05 zawiera te komity.
Nowe funkcje
- Teraz zawiera reguły Proguard, aby zapobiec usuwaniu niezbędnych klas. (65d0c3f)
Poprawki błędów
- 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)
Wersja 1.1.0-alpha04
16 października 2024 r.
Funkcje androidx.health:health-services-client:1.1.0-alpha04
, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04
i androidx.health:health-services-client-proto:1.1.0-alpha04
są dostępne. Wersja 1.1.0-alpha04 zawiera te komity.
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:health-services-client
do najnowszej wersji 1.1.0-alpha04.
Wersja 1.1.0-alpha02
13 grudnia 2023 r.
androidx.health:health-services-client:1.1.0-alpha02
został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Korzystanie z jednego źródła danych w przypadku obsługiwanych
ExerciseEvent
. (I03308)
Poprawki błędów
- Drobne poprawki błędów i ulepszenia dokumentacji.
Wersja 1.1.0-alpha01
9 sierpnia 2023 r.
androidx.health:health-services-client:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodano interfejsy API
ExerciseEvent
wraz z pierwszym konkretnym zdarzeniem:GolfShotEvent
. PrimitivesExerciseEvent
umożliwiają programistom wysyłanie zapytań do zespołu pomocy i proszeń o powiadomienie, gdy zegarek wykryje, że coś się stało.GolfShotEvent
na przykład umożliwia deweloperom otrzymywanie powiadomień, gdy użytkownik wykonuje uderzenie w golfa, a nie tylko rozpoznawanie typu zamachu.
Zmiany w interfejsie API
- Umożliw klientom pakietu WHS SDK korzystanie z funkcji
GolfShotEvent
. (I76b03)
Poprawki błędów
- Zamiast agresywnie stosować wyjątki w przypadku nieznanych możliwości zdarzeń ćwiczeń, odfiltruj je z listy. (I06afc)
Health Services Client Version 1.0
Wersja 1.1.0-alpha03
14 maja 2024 r.
androidx.health:health-services-client:1.1.0-alpha03
został zwolniony. Wersja 1.1.0-alpha03 zawiera te komity.
Nowe funkcje
- Wprowadziliśmy interfejsy API
DebouncedGoal
, które umożliwiają śledzenie celu dla typu danych próbek lub typu danych statystyk próbek podczas ćwiczeń z funkcjami debouncingu(initialDelay
idurationAtThreshold
). (I09be9) - Dodano te przykładowe zaawansowane dane o biegu i statystyki
DataTypes
. (I0b8b5):Ground Contact Time
Vertical Oscillation
Vertical Ratio
Stride Length
Zmiany w interfejsie API
- Dodano
ELEVATION_GAIN_DAILY
DataType
. (I059d1) - Dodano
SWIM_LAP_COUNT_TOTAL
DataType
jako agregowanyDataType
dlaSWIM_LAP_COUNT
. (I0beeb)
Poprawki błędów
- Usunięto różne problemy, aby zwiększyć niezawodność interfejsu IPC.
Wersja 1.0.0-rc02
3 kwietnia 2024 r.
androidx.health:health-services-client:1.0.0-rc02
został zwolniony. Wersja 1.0.0-rc02 zawiera te zatwierdzenia. Ta wersja zawiera tylko poprawki błędów i nie zawiera zmian w interfejsie API.
Poprawki błędów
- Usunięto różne problemy, aby zwiększyć niezawodność IPC.
- Rozwiązaliśmy problem, który powodował, że wywołanie funkcji
startExercise
w tym samym czasie coprepareExercise
mogło prowadzić doConcurrentModificationException
(4e3777). - Ulepszona dokumentacja
Wersja 1.0.0-rc01
26 lipca 2023 r.
androidx.health:health-services-client:1.0.0-rc01
został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Nowe funkcje
- Usługi zdrowotne zostały przeniesione do wersji 1.0.0-rc01 po stabilizacji w wersji beta.
Zmiany w interfejsie API
- scalone pliki publicznego i eksperymentalnego interfejsu API dla ścieżek h–m. (Ic4630, b/278769092)
- Nie dotyczy. Zmiany w pliku interfejsu API to tylko zmiana kolejności metod. (I5fa95)
Wersja 1.0.0-beta03
5 kwietnia 2023 r.
androidx.health:health-services-client:1.0.0-beta03
został zwolniony. Wersja 1.0.0-beta03 zawiera te komitowane zmiany.
Nowe funkcje
BatchingMode
może teraz przekazywać dane dotyczące ćwiczeń zbiorczych w określonym interwale zamiast domyślnego podczas aktywnego ćwiczenia, albo na początku ćwiczenia za pomocą ExerciseConfig
, albo podczas ćwiczenia za pomocą metody zastąpienia. Obsługa tej funkcji zostanie włączona w nadchodzącej wersji Usług zdrowotnych w Sklepie Google Play. Można ją sprawdzić w ramach funkcji ćwiczeń. Uwaga: tryby grupowania mają zastosowanie, gdy urządzenie jest w stanie bez interakcji, i spowodują zwiększone zużycie energii.
Zmiany w interfejsie API
- Wyjątek
HealthServicesException
, gdy nie udaje się zawiesić funkcjioverrideBatchingModesForActiveExercise
(Ifd387) - Wprowadziliśmy funkcje zawieszania dla interfejsu API
overrideBatchingModesForActiveExercise
, aby były bardziej przyjazne dla Kotlina (I7dd15). BatchingMode
zastępuje opcjonalny wExerciseConfig
(Id22e9)
Poprawki błędów
DataType
iExerciseUpdate
drobne poprawki (5e185).
Wersja 1.0.0-beta02
11 stycznia 2023 r.
androidx.health:health-services-client:1.0.0-beta02
został zwolniony. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano funkcje rozszerzenia
suspend
dla dotychczasowych asynchronicznych interfejsów APIListenableFuture
wExerciseClient
,PassiveMonitoringClient
iMeasureClient
, aby zapewnić lepszą obsługę Kotlina. (Iadea4) - Dodano interfejs API
ExerciseTypeConfig
, który umożliwia wprowadzanie zmian w trakcie trwania ćwiczenia. DodanoGolfExerciseTypeConfig
, aby umożliwić aktualizowanieExerciseTypeConfig
podczas ćwiczeń golfa. (I4c539)
Zmiany w interfejsie API
- Wywołanie
HealthServicesException
w funkcjach zawieszania (I5e509) - Dodaj inny konstruktor ze względu na zgodność wsteczną (Iddeda)
- Wyjątek
RuntimeException
w funkcjach zawieszania (I53bca) - Usuń domyślną implementację rzucania wyjątku (Id947f)
- Dodawanie adnotacji
@JvmDefaultWithCompatibility
(I8f206)
Poprawki błędów
- Dodanie do kdoc w celu zwiększenia przejrzystości (Ide285)
- Zezwalanie na śledzenie w ramach monitorowania pasywnego tylko w przypadku celów, w których przypadku śledzone są te same typy danych (Ibed8d)
Wersja 1.0.0-beta01
24 października 2022 r.
androidx.health:health-services-client:1.0.0-beta01
został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.
Nowe funkcje
Dodano możliwość nasłuchiwania zdarzeń związanych ze stanem zdrowia za pomocą
PassiveMonitoringClient
, przy czym pierwszym zdarzeniem jest:HealthEvent.FALL_DETECTED
.Nowe typy ćwiczeń:
ALPINE_SKIING
BACKPACKING
CROSS_COUNTRY_SKIING
HORSE_RIDING
INLINE_SKATING
MOUNTAIN_BIKING
ORIENTEERING
ROLLER_SKATING
YACHTING
Nowe typy danych:
ELEVATION_LOSS
GOLF_SHOT_COUNT
Zmiany w interfejsie API
- Zmieniony sposób modelowania danych: zaktualizowano model danych oraz sposób, w jaki są reprezentowane elementy
DataType
iDataPoint
oraz ich wartości podstawowe. Najważniejszym efektem jest to, że interfejsy API są teraz bardziej jednoznaczne i bezpieczne pod względem typów. - Lokalizacje
DataPoint
nie są już reprezentowane jakoDoubleArray
, ale jako silnie typizowany obiektLocationData
. - Przejście na nowy zestaw interfejsów API typu passive listener:
- Transmisja została zastąpiona przez
PassiveListenerService
. - Istniejący odbiorcy zostali zastąpieni jednym odbiorcą:
PassiveListenerCallback
.
- Transmisja została zastąpiona przez
- Dodano tag
<queries>
do pliku manifestu usług związanych ze zdrowiem, aby aplikacje nie musiały już go określać w swoim pliku manifestu (pod warunkiem, że w ich systemie kompilacji włączona jest fuzja manifestu). - Zrezygnowaliśmy z wielu ikon
ExerciseState
, aby oznaczać zakończenie lub zakończenie ćwiczenia, i dodaliśmy nowe stany ćwiczeniaENDING
iENDED
. Są one teraz łączone z wartościąExerciseEndReason
, aby reprezentować pełną gamę poprzednich stanów. - Zmieniliśmy nazwę
PassiveListenerConfig
setPassiveGoals
nasetDailyGoals
, aby lepiej odzwierciedlała to, że obsługujemy tylko dzienne cele pasywne. PassiveGoal
jest teraz zawszeREPEATED
, a opcjaTriggerFrequency
została usunięta.- Do wszystkich parametrów
Long
iDouble
dodano adnotacje@FloatRange
. - Do właściwości
swimmingPoolLengthMeters
w elementachExerciseConfig
dodano opcjonalną właściwośćswimmingPoolLengthMeters
, która może służyć do ulepszania obliczeń odległości w przypadku pływania w basenie. - Wycofano:
ExerciseUpdate.activeDuration
. Zamiast tego użyj polaExerciseUpdate.activeDurationCheckpoint
. - Zmieniono nazwę interfejsu API
flushExerciseAsync()
naflushAsync()
wExerciseClient
. - Nazwa
Measure.registerCallback
została zmieniona naMeasure.registerMeasureCallback
. - Ogólne zmiany nazw:
- Właściwości odległości mają teraz sufiks
meters
. - Nazwy metod wywołania zwrotnego są teraz w czasie przeszłym.
- Usunięto większość skrótów (
HrAccuracy
to terazHeartRateAccuracy
). - Właściwości o nazwie
enableFoo
mają teraz nazwęisFooEnabled
.
- Właściwości odległości mają teraz sufiks
- Przeniesiono z enumów.
- Czasy reprezentowane przez
Double
są teraz reprezentowane przezDuration
. - Funkcje zwracające wartość
ListenableFuture<Void?>
zwracają teraz wartośćListenableFuture<Void>
. - Funkcja wywołania zwrotnego jest teraz zawsze ostatnim parametrem funkcji, która ją akceptuje.
- Klasy z konstruktorami mają teraz zawsze publiczne konstruktory.
- Funkcje rejestracji nie zwracają już wartości
ListenableFuture
, ale zamiast tego przekazują stan rejestracji do podanego wywołania zwrotnego. - KDocs zostały ulepszone.
- Zajęcia publiczne nie są już przedłużane
ProtoParcelable
.
Poprawki błędów
- Ogólne ulepszenia dotyczące niezawodności interfejsu IPC (I3b1e2)
Wersja 1.0.0-alpha03
3 listopada 2021 r.
androidx.health:health-services-client:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Nowe funkcje
- W przypadku przerwania połączenia IPC z plikiem APK Health Services pakiet SDK automatycznie ponownie zarejestruje żądania rejestracji zgłoszeniowych funkcji pomiaru, ćwiczeń i monitorowania pasywnego.
Zmiany w interfejsie API
- Wartość parametru minSdkVersion biblioteki pakietu SDK została podniesiona do poziomu interfejsu API 30, ponieważ klient usług zdrowotnych jest obecnie obsługiwany tylko na Wear 3.
Wersja 1.0.0-alpha02
29 września 2021 r.
androidx.health:health-services-client:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
ExerciseClient
obsługuje teraz przygotowywanie ćwiczeń. Dzięki temu klienci mogą rozgrzać czujniki i poczekać na takie rzeczy jak GPS Fix przed rozpoczęciem ćwiczenia.- Wprowadza klasy AggregateDataPoint i StatisticalDataPoints AggregateDataPoint, aby lepiej modelować dane zbiorcze śledzone podczas aktywnego ćwiczenia. Punkty danych CumulativeDataPoints zawierają skumulowane wartości zbiorczych typów danych przedziału (np. całkowity dystans podczas ćwiczenia), a punkty danych StatisticalDataPoints modelują zbiorcze próbki danych (np. minimalne, maksymalne i średnie tętno w bpm). Zastępuje on poprzednie typy danych
AGGREGATE_*
i jest dostępny w uaktualnieniu ćwiczenia za pomocągetLatestAggregateMetrics()
. Typy danychAGGREGATE_*
nie są już obsługiwane. - Zdarzenia
PassiveMonitoring
zostały przemianowane naPassiveGoals
, co umożliwia ustawianie celów i odbieranie powiadomień o ich osiągnięciu w przypadku typów danych takich jak Dane dzienne (np. DAILY_STEPS). - Ulepszone modelowanie dokładności i dostępności pomiarów tętna oraz lokalizacji dzięki wprowadzeniu nowych klas HrAccuracy, LocationAccuracy i LocationAvailability.
- Ulepszone nazewnictwo pól
ExerciseConfig
i nowych pólPassiveMonitoringConfig
oraz wprowadzenie polaExerciseConfig.shouldEnableGps
do wysyłania żądań dotyczących danych z GPS-a
Poprawki błędów
- Przejście na protokół IPC obsługiwany przez protokół w celu lepszego wsparcia zgodności wstecznej
Wersja 1.0.0-alpha01
18 maja 2021 r.
androidx.health:health-services-client:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Funkcje dostępne w pierwszej wersji
Biblioteka Health Services udostępnia spójny zestaw interfejsów API, które deweloperzy mogą integrować z implementacjami czujników na potrzeby konkretnych urządzeń. Będzie ona działać na emulatorach Wear OS 3 i na nadchodzących urządzeniach. W przyszłości będziemy obsługiwać też inne platformy. W tej pierwszej wersji uwzględniono 3 interfejsy API na najwyższym poziomie: ExerciseClient
, PassiveMonitoringClient
i MeasureClient
.
ExerciseClient
ExerciseClient
jest przeznaczony do aplikacji śledzących aktywne treningi. Obejmuje on do 82 różnych ExerciseType
, od chodzenia i biegania po taniec i piłka wodną. Podczas śledzenia tych ćwiczeń możesz wybrać 50 różnych DataType
w zależności od typu ćwiczenia i sprzętu dostępnego na urządzeniu. Aby rozpocząć, podaj odpowiednie informacje w ExerciseConfig
, zadzwoń pod numer exerciseClient.startExercise
i słuchaj informacji o postępach w słuchawce.
PassiveMonitoringClient
PassiveMonitoringClient
to świetne rozwiązanie, jeśli aplikacja śledzi aktywność użytkownika przez cały dzień. Możesz zarejestrować PendingIntent
z zestawem DataType
i być wybudzony, aby obsłużyć zmiany zbiorcze. Możesz też określić Event
, np. osiągnięcie określonej liczby kroków.
MeasureClient
Czasami użytkownik musi np. zmierzyć tętno w danym momencie, a nie podczas ćwiczeń ani w ciągu dnia. W takich sytuacjach idealnym rozwiązaniem jest MeasureClient
. Wystarczy, że zarejestrujesz wywołanie zwrotne w obsługiwanych DataType
, aby otrzymywać strumień danych. Gdy nie będzie już potrzebny, możesz go odrejestrować.