Stan

  
Twórz wydajne aplikacje związane ze zdrowiem niezależnie od platformy.
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ą.

Tworzenie nowego zgłoszenia

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> na Set<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 klasy PermissionController.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 na ExerciseLapRecord
    • Nazwa została zmieniona z ActivityEvent na ExerciseEventRecord
    • Nazwa została zmieniona z Repetitions na ExerciseRepetitionsRecord
    • Nazwa została zmieniona z ActivitySession na ExerciseSessionRecord
  • 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 i getMetric w AggregationResult, dodane operatory zawiera i pobierz (I7cc7c)
  • Dodaje OvulationTest.Result.HIGH i OvulationTest.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-alpha05androidx.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-alpha04androidx.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. Primitives ExerciseEvent 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(initialDelaydurationAtThreshold). (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 agregowany DataType dla SWIM_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 co prepareExercise mogło prowadzić do ConcurrentModificationException (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ć funkcji overrideBatchingModesForActiveExercise (Ifd387)
  • Wprowadziliśmy funkcje zawieszania dla interfejsu API overrideBatchingModesForActiveExercise, aby były bardziej przyjazne dla Kotlina (I7dd15).
  • BatchingMode zastępuje opcjonalny w ExerciseConfig (Id22e9)

Poprawki błędów

  • DataTypeExerciseUpdate 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 API ListenableFutureExerciseClient, PassiveMonitoringClientMeasureClient, aby zapewnić lepszą obsługę Kotlina. (Iadea4)
  • Dodano interfejs API ExerciseTypeConfig, który umożliwia wprowadzanie zmian w trakcie trwania ćwiczenia. Dodano GolfExerciseTypeConfig, aby umożliwić aktualizowanie ExerciseTypeConfig 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 DataTypeDataPoint 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 jako DoubleArray, ale jako silnie typizowany obiekt LocationData.
  • 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.
  • 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 ćwiczenia ENDINGENDED. Są one teraz łączone z wartością ExerciseEndReason, aby reprezentować pełną gamę poprzednich stanów.
  • Zmieniliśmy nazwę PassiveListenerConfig setPassiveGoals na setDailyGoals, aby lepiej odzwierciedlała to, że obsługujemy tylko dzienne cele pasywne.
  • PassiveGoal jest teraz zawsze REPEATED, a opcja TriggerFrequency została usunięta.
  • Do wszystkich parametrów LongDouble dodano adnotacje @FloatRange.
  • Do właściwości swimmingPoolLengthMeters w elementach ExerciseConfig 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 pola ExerciseUpdate.activeDurationCheckpoint.
  • Zmieniono nazwę interfejsu API flushExerciseAsync() na flushAsync()ExerciseClient.
  • Nazwa Measure.registerCallback została zmieniona na Measure.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 teraz HeartRateAccuracy).
    • Właściwości o nazwie enableFoo mają teraz nazwę isFooEnabled.
  • Przeniesiono z enumów.
  • Czasy reprezentowane przez Double są teraz reprezentowane przez Duration.
  • 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 danych AGGREGATE_* nie są już obsługiwane.
  • Zdarzenia PassiveMonitoring zostały przemianowane na PassiveGoals, 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ól PassiveMonitoringConfig oraz wprowadzenie pola ExerciseConfig.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, PassiveMonitoringClientMeasureClient.

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ć.