Zdrowie

  
Twórz wydajne aplikacje związane ze zdrowiem w sposób niezależny od platformy.
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
14 maja 2024 r. - 1.0.0-rc02, - 1.1.0-alfa03

Deklarowanie zależności

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

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

Groovy

dependencies {
    implementation "androidx.health:health-services-client:1.1.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.1.0-alpha04")
}

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

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

Wersja 1.0 klienta Health Connect

Wersja 1.0.0-alfa04

24 sierpnia 2022 r.

Od 1.0.0 do alfa04: androidx.health:health-connect-client została przeniesiona do androidx.health.connect:connect-client. W przypadku kolejnych wersji korzystaj z informacji o androidx.health.connect:connect-client i powiązanych informacji o wersji na stronie Health Connect.

Aby przeprowadzić migrację, po prostu zmień importowanie 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-alfa03

27 lipca 2022 roku

Aplikacja androidx.health:health-connect-client:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Podsumowanie nowych zmian w interfejsie API: do interfejsów API do odczytu, zapisu i agregacji dodano zestaw jednostek. Aplikacje mogą teraz pobierać lub zapisywać rekordy przy użyciu wybranych jednostek, takich jak gramy czy miligramy dla składników odżywczych NutritionRecord.

Zmiany w interfejsie API

  • Popraw List<DataOrigin>, aby był Set<DataOrigin> w różnych obiektach odpowiedzi żądania. (I42342)
  • Popraw jednostkę podstawowej liczby kalorii z Moc > Energia. (I0b429)
  • Przeniesiono przykładowe klasy serii w rekordach serii (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • Wycofaj klasę HealthDataRequestPermission na rzecz klasy PermissionController.createRequestPermissionActivityContract. Spowoduje to lepszą wykrywalność i ujednolicenie parametrów. (I81e7f)
  • Do objętości dodano uncje płynu w Stanach Zjednoczonych. (I5f03d)
  • Dodano typ jednostki prędkości (I1d574).
  • Typ dodanej jednostki procentowej (I08f23)
  • Dodano typ jednostki ciśnienia (Ifb01f)
  • Dodano typ jednostki masy (Ifd81a)
  • Dodano typ jednostki woluminu (I59ad1)
  • Dodano typ jednostki zasilania. Przykładowa klasa serii potęg została przeniesiona do klasy PowerRecord. (I5b1e5)
  • Dodano typ jednostki energii (I983ae)
  • Typ jednostki temperatury został dodany (I4cdb5)
  • Zmień nazwy odwołań do Aktywności na konkretnie Ćwiczenie, w tym (I3f936):
    • Zmieniono nazwę ActivityLap -> ExerciseLapRecord
    • Zmieniono nazwę ActivityEvent -> ExerciseEventRecord
    • Zmieniono nazwę Repetitions -> ExerciseRepetitionsRecord
    • Zmieniono nazwę ActivitySession -> ExerciseSessionRecord
  • Przeniesiono metadane pakietu zagnieżdżone w rekordach. (IE0835)
  • Użyta jednostka długości we wszystkich pozostałych rekordach (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Dodano typ jednostki długości (Idae39)
  • Zaktualizuj terminologię opisującą CervicalMucus (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Dodano sufiks „Record” do wszystkich nazw klas rekordów (I1ffc2).

Poprawki błędów

  • Naprawianie problemów z Progard w przypadku biblioteki lib utworzonej z formatem wersji i z atrybutem minifyEnabled true. (I78933)
  • Ukrywa dokumentację nieprzeznaczoną do użytku publicznego. (I7a08f)
  • Rozwiązuje problem u klientów, którzy mogą mieć własne zależności protokołu (https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430).

Wersja 1.0.0-alfa02

1 czerwca 2022 r.

Aplikacja androidx.health:health-connect-client:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wycofane operatory hasMetric i getMetric w języku AggregationResult, dodano operatory „zawiera” i „get” (I7cc7c).
  • Dodaje OvulationTest.Result.HIGH i OvulationTest.Result.INCONCLUSIVE. (I9f9c4)

Poprawki błędów

  • Zmniejsz wymagania dotyczące SDK do 26. (I6d201).

Wersja 1.0.0-alfa01

11 maja 2022 roku

Aplikacja androidx.health:health-connect-client:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Interfejs API do odczytywania danych o aktywności fizycznej i zdrowia udostępnianych przez inne aplikacje.
  • Interfejs API do zapisywania danych o zdrowiu i aktywności fizycznej, które można udostępniać innym aplikacjom.
  • Interfejs API do pobierania zagregowanych wskaźników na potrzeby dostępnych rekordów.
  • Interfejs API do pobierania przyrostowych zmian (wstawianie, aktualizowanie lub usuwanie) rekordów innych aplikacji.
  • Interfejs API wyświetlający prośbę o przyznanie uprawnień dotyczących zdrowia.
  • Interfejs API do sprawdzania uprawnień lub unieważniania przyznanych uprawnień.

Wersja 1.1 klienta Health Services

Wersja 1.1.0-alfa02

13 grudnia 2023 r.

Aplikacja androidx.health:health-services-client:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Używaj 1 źródła wiarygodnych danych dla obsługiwanych ExerciseEvent. (I03308)

Poprawki błędów

  • Drobne poprawki błędów i ulepszenia dokumentacji.

Wersja 1.1.0-alfa01

9 sierpnia 2023 r.

Aplikacja androidx.health:health-services-client:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Obok pierwszego konkretnego zdarzenia dodano ExerciseEvent interfejsów API: GolfShotEvent. Podstawowe funkcje ExerciseEvent umożliwiają programistom wysyłanie zapytań do zespołu pomocy i wysyłanie próśb o powiadomienie, gdy zegarek wykryje, że coś się stało. Na przykład GolfShotEvent umożliwia deweloperom wysłanie powiadomienia o wykonaniu przez użytkownika uderzenia golfowego, a nie tylko o rozpoznaniu typu zamachu.

Zmiany w interfejsie API

  • Włącz klienty pakietu WHS SDK, aby używać funkcji GolfShotEvent. (I76b03)

Poprawki błędów

  • Zamiast agresywnie rzucać wyjątki, odfiltrowując nieznane możliwości związane ze zdarzeniami ćwiczeniowymi, odfiltruj je z listy. (I06afc)

Wersja 1.0 klienta Health Services

Wersja 1.1.0-alfa03

14 maja 2024 r.

Aplikacja androidx.health:health-services-client:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy interfejsy API DebouncedGoal, które umożliwiają śledzenie celu w przypadku przykładowych typów danych lub przykładowych danych statystycznych podczas ćwiczeń z funkcjami odbijania adresów URL(initialDelay i durationAtThreshold). (I09be9)
  • Dodano następującą próbkę zaawansowanych danych biegowych i statystyczną próbkę DataTypes. (I0b8b5):
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

Zmiany w interfejsie API

  • Dodano: DataType (ELEVATION_GAIN_DAILY). (I059d1)
  • Dodano SWIM_LAP_COUNT_TOTAL DataType jako zagregowane dane DataType dla SWIM_LAP_COUNT. (I0beeb)

Poprawki błędów

  • Rozwiązaliśmy różne problemy w celu zwiększenia niezawodności IPC.

Wersja 1.0.0-rc02

3 kwietnia 2024 r.

Aplikacja androidx.health:health-services-client:1.0.0-rc02 została zwolniona. Wersja 1.0.0-rc02 zawiera te zatwierdzenia. Jest to wersja z poprawką błędów i nie zawiera zmian w interfejsie API.

Poprawki błędów

  • Rozwiązano różne problemy w celu zwiększenia niezawodności IPC
  • Rozwiązaliśmy problem, który powodował, że wywołanie funkcji startExercise w tym samym czasie co prepareExercise mogło prowadzić do błędu ConcurrentModificationException (4e37773).
  • Ulepszona dokumentacja

Wersja 1.0.0-rc01

26 lipca 2023 r.

Aplikacja androidx.health:health-services-client:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Nowe funkcje

  • Po ustabilizowaniu się w wersji beta została ona zmieniona na wersję 1.0.0-rc01.

Zmiany w interfejsie API

  • Scalono publiczne i eksperymentalne pliki interfejsu API dla ścieżek h-thru m. (Ic4630, b/278769092)
  • Nie dotyczy. Zmiany w plikach interfejsu API to tylko zmiany kolejności metod. (I5fa95)

Wersja 1.0.0-beta03

5 kwietnia 2023 r.

Aplikacja androidx.health:health-services-client:1.0.0-beta03 została zwolniona. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

Nowe funkcje

Urządzenie BatchingMode można teraz skonfigurować tak, aby podczas aktywnego ćwiczenia wysyłało dane zbiorcze w skonfigurowanym odstępie czasu zamiast wartości domyślnej, zarówno na początku ćwiczenia, jak i w ExerciseConfig, albo w trakcie zastępowania. Ta funkcja zostanie włączona w nadchodzącej wersji Usług medycznych w Sklepie Google Play. Można ją sprawdzić za pomocą funkcji związanych z ćwiczeniami. Uwaga: tryby grupowania działają, gdy urządzenie jest w stanie zasilania nieinteraktywnej, i powoduje większe zużycie energii.

Zmiany w interfejsie API

  • Zwrócenie HealthServicesException, gdy funkcja zawieszenia overrideBatchingModesForActiveExercise nie powiedzie się (Ifd387)
  • Wprowadzono funkcje zawieszania dla asynchronicznego interfejsu API overrideBatchingModesForActiveExercise, co zwiększyło ich zgodność z kotlinami (I7dd15).
  • BatchingMode zastąpienia są opcjonalne w usłudze ExerciseConfig (Id22e9)

Poprawki błędów

  • Drobne poprawki w DataType i ExerciseUpdate (5E185f)

Wersja 1.0.0-beta02

11 stycznia 2023 r.

Aplikacja androidx.health:health-services-client:1.0.0-beta02 została zwolniona. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano funkcje rozszerzenia suspend dla istniejących asynchronicznych interfejsów API ListenableFuture w językach ExerciseClient, PassiveMonitoringClient i MeasureClient, aby zapewnić lepszą obsługę Kotlin. (Iadea4)
  • Dodano interfejs ExerciseTypeConfig API, który włącza aktualizacje podczas trwającego ćwiczenia. Dodano GolfExerciseTypeConfig, aby umożliwić aktualizowanie ExerciseTypeConfig podczas ćwiczeń golfowych. (I4c539)

Zmiany w interfejsie API

  • Zgłoś HealthServicesException w przypadku funkcji zawieszania (I5e509)
  • Dodaj kolejny konstruktor, by zapewnić zgodność wsteczną (Iddeda)
  • Zgłoś RuntimeException w przypadku funkcji zawieszania (I53bca)
  • Usuń domyślną implementację zgłaszania wyjątku (Id947f)
  • Dodawanie adnotacji @JvmDefaultWithCompatibility (I8f206)

Poprawki błędów

  • Aby zwiększyć przejrzystość, dodaj do kdoc (Ide285)
  • Zezwalaj na pasywne monitorowanie celów tylko wtedy, gdy śledzone są też te same typy danych (Ibed8d)

Wersja 1.0.0-beta01

24 października 2022 r.

Aplikacja androidx.health:health-services-client:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano możliwość nasłuchiwania zdarzeń dotyczących zdrowia do PassiveMonitoringClient, przy czym pierwsze zdarzenie to: 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

  • Aktualizacja sposobu modelowania danych: model danych oraz sposób przedstawiania wartości DataType i DataPoint oraz ich wartości bazowych zostały zmodernizowane. Najważniejsze jest to, że interfejsy API są teraz znacznie bardziej widoczne i bezpieczniejsze pod względem wpisywania.
  • Lokalizacje DataPoint nie są już reprezentowane jako DoubleArray, ale jako obiekt LocationData o silnym typie.
  • Przeniesiono do nowego zestawu interfejsów API pasywnego detektora:
    • Transmisja została zastąpiona przez PassiveListenerService.
    • Dotychczasowe detektory zostały zastąpione jednym detektorem: PassiveListenerCallback.
  • Dodano tag <queries> do pliku manifestu Health Services, aby aplikacje nie musiały już tego określać w swoim pliku manifestu (pod warunkiem, że łączenie plików manifestu jest włączone w ich systemie kompilacji).
  • Większa liczba sekund ExerciseState oznacza zakończenie / zakończenie ćwiczenia oraz dodanie nowych stanów ćwiczenia ENDING i ENDED. Te stany są teraz połączone z polem ExerciseEndReason, aby odzwierciedlać pełną gamę poprzednich stanów.
  • Zmiana nazwy z PassiveListenerConfig setPassiveGoals na setDailyGoals, aby lepiej odzwierciedlić, że obsługujemy tylko codzienne cele pasywne.
  • Funkcje PassiveGoal teraz zawsze REPEATED, usunięte pasywne TriggerFrequency.
  • Dodano adnotacje do wszystkich parametrów Long i Double: @FloatRange.
  • Dodano właściwość swimmingPoolLengthMeters do obiektu ExerciseConfig, która może być opcjonalnie określona, aby poprawić obliczanie odległości podczas pływania w basenie.
  • Wycofano: ExerciseUpdate.activeDuration. Użyj w zamian zasady ExerciseUpdate.activeDurationCheckpoint.
  • W ExerciseClient zmieniono nazwę interfejsu API flushExerciseAsync() na flushAsync().
  • Nazwa użytkownika Measure.registerCallback została zmieniona na Measure.registerMeasureCallback.
  • Ogólne zmiany w nazwach:
    • Właściwości odległości mają teraz sufiks meters.
    • Nazwy metod wywołania zwrotnego są teraz w przeszłości.
    • Większość skrótów została usunięta (obecnie HrAccuracy to HeartRateAccuracy).
    • Właściwości zgodne z wzorcem enableFoo mają teraz nazwę isFooEnabled.
  • Przeniesiono z Enums.
  • Czasy w formacie Double są teraz reprezentowane przez Duration.
  • Funkcje zwracające typ ListenableFuture<Void?> zwracają teraz wartość ListenableFuture<Void>.
  • W przypadku funkcji, które przyjmują wywołanie zwrotne, wywołanie to zawsze jest widoczne jako ostatni parametr.
  • Klasy z konstruktorami zawsze mają również publiczne konstruktory.
  • Funkcje rejestracji nie zwracają już wartości ListenableFuture, tylko przekazują stan rejestracji do podanego wywołania zwrotnego.
  • Dokumenty KDokumenty zostały ulepszone.
  • Zajęcia publiczne nie są już przedłużone o ProtoParcelable.

Poprawki błędów

  • Ogólne ulepszenia niezawodności IPC (I3b1e2)

Wersja 1.0.0-alfa03

3 listopada 2021 r.

Aplikacja androidx.health:health-services-client:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • W przypadku zerwania połączenia IPC z pakietem APK usług medycznych pakiet SDK automatycznie ponownie zarejestruje żądania rejestracji pomiarów, detektorów ćwiczeń i pasywnego monitorowania wywołań zwrotnych.

Zmiany w interfejsie API

  • Wartość minSdkVersion biblioteki pakietu SDK spadła do poziomu API 30, ponieważ klient usług medycznych jest obecnie obsługiwany tylko na Wear 3.

Wersja 1.0.0-alfa02

29 września 2021 r.

Aplikacja androidx.health:health-services-client:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aplikacja ExerciseClient umożliwia teraz przygotowanie ćwiczenia. Dzięki temu klienci mogą rozgrzać czujniki i poczekać na pozycję GPS, zanim zaczną ćwiczyć.
  • Wprowadzono klasy CumulativeDataPoints i StatificalDataPoints AggregateDataPoint w celu lepszego modelowania wskaźników zbiorczych śledzonych podczas aktywnego ćwiczenia. Wskaźniki CumulativeDataPoints przechowują skumulowane wartości zagregowanych wartości typów danych dotyczących interwałów (takich jak całkowity dystans podczas ćwiczenia), a model StatificalDataPoints agreguje próbkowane punkty danych (np. min., maksymalną i średnią wartość tętna na minutę). Zastępuje on poprzednie typy danych (AGGREGATE_*) i jest dostępny w narzędziu Ćwiczenie za pomocą narzędzia getLatestAggregateMetrics(). Typy danych (AGGREGATE_*) nie są już obsługiwane.
  • Nazwę zdarzeń PassiveMonitoring zmieniono na PassiveGoals. Umożliwia ona ustawianie celów i otrzymywanie powiadomień o ich osiągnięciu. Dotyczy to takich typów danych jak Dane dzienne (np. DAILY_STEPS).
  • Ulepszone modelowanie tętna i lokalizacji oraz dokładność i dostępność dzięki wprowadzeniu nowych klas HrAccuracy, LocationAccuracy i LocationAvailability.
  • Poprawione nazwy pól ExerciseConfig i nowych PassiveMonitoringConfig oraz wprowadzenie ExerciseConfig.shouldEnableGps umożliwiającego wysyłanie żądań danych opartych na GPS.

Poprawki błędów

  • Przenosi do transportu IPC opartego na protokołach, aby zapewnić lepszą zgodność wsteczną

Wersja 1.0.0-alfa01

18 maja 2021 r.

Aplikacja androidx.health:health-services-client:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Funkcje pierwszej wersji

Biblioteka usług medycznych udostępnia deweloperom jednolity zestaw interfejsów API, które można zintegrować z implementacjami czujników dla konkretnych urządzeń. Będzie ona działać od razu z emulatorami Wear OS 3 i nadchodzącymi urządzeniami. W przyszłości obsługa kolejnych platform będzie obsługiwana. Ta wstępna wersja obejmuje 3 platformy API najwyższego poziomu: ExerciseClient, PassiveMonitoringClient i MeasureClient.

Skrypt Ćwiczenia

Urządzenie ExerciseClient jest przeznaczone do aplikacji śledzących aktywne treningi, w tym 82 różne rodzaje aktywności (ExerciseType), od chodzenia i biegu po taniec i piłkę wodną. Podczas śledzenia tych ćwiczeń masz do wyboru 50 różnych typów DataType w zależności od rodzaju ćwiczenia i dostępnego w urządzeniu sprzętu. Aby rozpocząć, podaj odpowiednie informacje w ExerciseConfig, zadzwoń pod numer exerciseClient.startExercise i sprawdź postęp w detektorze aktualizacji.

PassiveMonitoringClient

PassiveMonitoringClient to doskonały wybór, jeśli aplikacja śledzi aktywność użytkownika przez cały dzień. Gdy zarejestrujesz PendingIntent przy użyciu zestawu DataType, możesz się wybudzić, aby wprowadzić zmiany zbiorcze. Możesz też określić Event, np. osiągnąć określoną liczbę kroków.

MeasureClient

Czasami użytkownik musi mierzyć tętno w danej chwili, a nie podczas ćwiczenia czy przez cały dzień. W takich chwilach doskonałym rozwiązaniem jest MeasureClient.Wystarczy zarejestrować oddzwonienie, korzystając z obsługiwanych komponentów typu DataType, aby otrzymać strumień danych, i wyrejestrować połączenie, które nie jest już potrzebne.