Zustand

  
Plattformunabhängig leistungsstarke Gesundheits-Apps erstellen
Letzte Aktualisierung Stabile Version Release Candidate Beta-Ausgabe Alphaversion
11. Dezember 2024 - 1.0.0-rc02 - 1.1.0-alpha05

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Health hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

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

Kotlin

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

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Health Connect-Clientversion 1.0

Version 1.0.0-alpha04

24. August 2022

Seit Version 1.0.0-alpha04 wurde androidx.health:health-connect-client zu androidx.health.connect:connect-client migriert. Verwenden Sie für zukünftige Releases bitte androidx.health.connect:connect-client und die zugehörigen Versionshinweise auf unserer Seite Health Connect.

Ändern Sie dazu einfach den Abhängigkeitsimport von androidx.health:health-connect-client:1.0.0-alpha03 in androidx.health.connect:connect-client:1.0.0-alpha04.

Version 1.0.0-alpha03

27. Juli 2022

androidx.health:health-connect-client:1.0.0-alpha03 wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Zusammenfassung der neuen API-Änderungen: Den APIs zum Lesen, Schreiben und Aggregieren wurden mehrere Einheiten hinzugefügt. Apps können jetzt Einträge mit der gewünschten Einheit abrufen oder schreiben, z. B. Gramm oder Milligramm für NutritionRecord-Nährstoffe.

API-Änderungen

  • Ändern Sie List<DataOrigin> in Set<DataOrigin> in verschiedenen Anfrage-/Antwortobjekten. (I42342)
  • Einheit der Gesamtzahl der Basalkalorien unter „Leistung“ -> „Energie“ korrigieren (I0b429)
  • Beispielklassen für Reihen in Reihendatensätze verschoben (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • Die Klasse HealthDataRequestPermission wird zugunsten von PermissionController.createRequestPermissionActivityContract eingestellt. Dadurch wird die Sichtbarkeit verbessert und die Parameter werden vereinheitlicht. (I81e7f)
  • Dem Volumen wurden US-Flüssigunzen hinzugefügt. (I5f03d)
  • Geschwindigkeitseinheitstyp hinzugefügt (I1d574)
  • Der Prozentsatz als Einheitstyp wurde hinzugefügt (I08f23).
  • Druckeinheitstyp hinzugefügt (Ifb01f)
  • Der Einheitentyp „Masse“ (Ifd81a) wurde hinzugefügt.
  • Volume-Einheitstyp hinzugefügt (I59ad1)
  • „Art der Energieversorgung“ hinzugefügt. Die Beispielklasse für Potenzreihen wurde in die Klasse PowerRecord verschoben. (I5b1e5)
  • Energieeinheitstyp hinzugefügt (I983ae)
  • Temperatureinheitstyp hinzugefügt (I4cdb5)
  • Benennen Sie Verweise auf „Aktivität“ so um, dass sie sich auf „Training“ beziehen, einschließlich (I3f936):
    • ActivityLap in ExerciseLapRecord umbenannt
    • ActivityEvent in ExerciseEventRecord umbenannt
    • Repetitions in ExerciseRepetitionsRecord umbenannt
    • ActivitySession in ExerciseSessionRecord umbenannt
  • Verschachtelte Paketmetadaten wurden in Einträge verschoben. (Ie0835)
  • Verwendete Längeneinheit in allen verbleibenden Einträgen (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Hinzugefügter Längeneinheitstyp (Idae39)
  • Beschreibungsterminologie für CervicalMucus aktualisieren (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Allen Namen von Datensatzklassen wurde das Suffix „Record“ hinzugefügt (I1ffc2)

Fehlerkorrekturen

  • Proguard-Probleme beheben, wenn die Lib mit Release-Variante und minifyEnabled als „true“ erstellt wurde (I78933)
  • Hiermit wird Dokumentation ausgeblendet, die nicht für die Öffentlichkeit bestimmt ist. (I7a08f)
  • Behebt das Problem bei Clients, die eigene Protobuf-Abhängigkeiten haben können.(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)

Version 1.0.0-alpha02

1. Juni 2022

androidx.health:health-connect-client:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • hasMetric und getMetric in AggregationResult wurden eingestellt. Die Operatoren „enthält“ und „get“ wurden hinzugefügt (I7cc7c)
  • Fügt OvulationTest.Result.HIGH und OvulationTest.Result.INCONCLUSIVE hinzu. (I9f9c4)

Fehlerkorrekturen

  • SDK-Anforderungen auf 26 reduzieren (I6d201)

Version 1.0.0-alpha01

11. Mai 2022

androidx.health:health-connect-client:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • API zum Lesen von Fitness- und Gesundheitsdaten, die von anderen Apps freigegeben wurden.
  • API zum Schreiben von Fitness- und Gesundheitsdaten, die mit anderen Apps geteilt werden können.
  • API zum Abrufen zusammengefasster Messwerte für zugängliche Einträge.
  • API zum Abrufen inkrementeller Änderungen (Einfügen, Aktualisieren oder Löschen) von Einträgen durch andere Apps.
  • API, mit der Nutzer um Berechtigungen für Gesundheitsdaten gebeten werden.
  • API, mit der Berechtigungen geprüft oder erteilte Berechtigungen für den Zugriff auf Gesundheitsdaten widerrufen werden können.

Clientversion für Gesundheitsdienste 1.1

Version 1.1.0-alpha05

11. Dezember 2024

androidx.health:health-services-client:1.1.0-alpha05, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05 und androidx.health:health-services-client-proto:1.1.0-alpha05 werden losgelassen. Version 1.1.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Enthält jetzt ProGuard-Regeln, um zu verhindern, dass erforderliche Klassen entfernt werden. (65d0c3f)

Fehlerkorrekturen

  • Diese Bibliothek verwendet jetzt JSpecify-Null-Anmerkungen, die sich auf den Typ beziehen. Kotlin-Entwickler sollten die folgenden Compilerargumente verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Iaf73a, b/326456246)

Version 1.1.0-alpha04

16. Oktober 2024

androidx.health:health-services-client:1.1.0-alpha04, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04 und androidx.health:health-services-client-proto:1.1.0-alpha04 werden losgelassen. Version 1.1.0-alpha04 enthält diese Commits.

Behebung von Sicherheitsproblemen

  • Seit dieser Änderung wird androidx mit protobuf 4.28.2 kompiliert, um CVE-2024-7254 zu beheben. Aktualisieren Sie die Abhängigkeit von androidx.health:health-services-client auf die neueste Version 1.1.0-alpha04, um das Sicherheitsrisiko zu beheben.

Version 1.1.0-alpha02

13. Dezember 2023

androidx.health:health-services-client:1.1.0-alpha02 wird veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

API-Änderungen

  • Verwenden Sie eine zentrale Informationsquelle für unterstützte ExerciseEvents. (I03308)

Fehlerkorrekturen

  • Kleinere Fehlerkorrekturen und Verbesserungen der Dokumentation.

Version 1.1.0-alpha01

9. August 2023

androidx.health:health-services-client:1.1.0-alpha01 wird veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Neben dem ersten konkreten Ereignis wurden ExerciseEvent APIs hinzugefügt: GolfShotEvent. Mit den ExerciseEvent-Primitiven können Entwickler den Support anfragen und sich benachrichtigen lassen, wenn die Smartwatch etwas erkennt. Mit GolfShotEvent können Entwickler beispielsweise benachrichtigt werden, wenn der Nutzer einen Golfschlag ausführt, und zusätzlich den erkannten Schwungtyp erhalten.

API-Änderungen

  • WHS SDK-Clients die Verwendung von GolfShotEvent-Funktionen ermöglichen (I76b03)

Fehlerkorrekturen

  • Anstatt bei unbekannten Funktionen für Trainingsereignisse aggressiv Ausnahmen zu werfen, sollten Sie sie aus der Liste herausfiltern. (I06afc)

Health Services Client Version 1.0

Version 1.1.0-alpha03

14. Mai 2024

androidx.health:health-services-client:1.1.0-alpha03 wird veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Einführung von DebouncedGoal APIs, mit denen sich ein Ziel für den Datentyp „Beispieldaten“ oder „Statistische Beispieldaten“ während eines Trainings mit Anti-Rutsch-Funktionen(initialDelay und durationAtThreshold) verfolgen lässt. (I09be9)
  • Das folgende Beispiel für erweiterte Laufmesswerte und die statistische DataTypes wurden hinzugefügt. (I0b8b5):
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

API-Änderungen

  • ELEVATION_GAIN_DAILY DataType wurde hinzugefügt. (I059d1)
  • SWIM_LAP_COUNT_TOTAL DataType wurde als aggregierte DataType für SWIM_LAP_COUNT hinzugefügt. (I0beeb)

Fehlerkorrekturen

  • Verschiedene Probleme behoben, um die IPC-Zuverlässigkeit zu verbessern.

Version 1.0.0-rc02

3. April 2024

androidx.health:health-services-client:1.0.0-rc02 wird veröffentlicht. Version 1.0.0-rc02 enthält diese Commits. Diese Version enthält nur Fehlerkorrekturen und keine API-Änderungen.

Fehlerkorrekturen

  • Verschiedene Probleme behoben, um die IPC-Zuverlässigkeit zu verbessern
  • Ein Problem wurde behoben, durch das das gleichzeitige Drücken von startExercise und prepareExercise zu ConcurrentModificationException führen konnte (4e37773)
  • Verbesserte Dokumentation

Version 1.0.0-rc01

26. Juli 2023

androidx.health:health-services-client:1.0.0-rc01 wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Neue Funktionen

  • Die Health Services API wurde auf Version 1.0.0-rc01 umgestellt, nachdem sie in der Betaversion stabilisiert wurde.

API-Änderungen

  • Zusammengeführte öffentliche und experimentelle API-Dateien für H- bis M-Pfade. (Ic4630, b/278769092)
  • – API-Dateien können nur neu angeordnet werden. (I5fa95)

Version 1.0.0-beta03

5. April 2023

androidx.health:health-services-client:1.0.0-beta03 wird veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Neue Funktionen

BatchingMode kann jetzt so konfiguriert werden, dass während einer aktiven Trainingseinheit im konfigurierten Intervall statt im Standardintervall gebatchte Trainingsdaten gesendet werden. Das kann entweder zu Beginn des Trainings über ExerciseConfig oder während des Trainings mit einer Überschreibungsmethode erfolgen. Die Unterstützung wird durch eine bevorstehende Version der Gesundheitsdienste im Google Play Store aktiviert und kann über die Trainingsfunktionen geprüft werden. Hinweis: Batch-Modi werden angewendet, wenn sich das Gerät in einem nicht interaktiven Energiesparmodus befindet, und führen zu einem erhöhten Stromverbrauch.

API-Änderungen

  • Auslösen von HealthServicesException, wenn die Aussetzungsfunktion overrideBatchingModesForActiveExercise fehlschlägt (Ifd387)
  • Einführung von Suspend-Funktionen für die asynchrone overrideBatchingModesForActiveExercise API, die sie für Kotlin-Code besser geeignet machen (I7dd15)
  • BatchingMode überschreibt optional in ExerciseConfig (Id22e9)

Fehlerkorrekturen

  • Kleine Fehlerkorrekturen bei DataType und ExerciseUpdate (5e185f)

Version 1.0.0-beta02

11. Januar 2023

androidx.health:health-services-client:1.0.0-beta02 wird veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Neue Funktionen

  • Für die vorhandenen asynchronen ListenableFuture APIs in ExerciseClient, PassiveMonitoringClient und MeasureClient wurden suspend-Erweiterungsfunktionen hinzugefügt, um die Kotlin-Unterstützung zu verbessern. (Iadea4)
  • Die ExerciseTypeConfig API wurde hinzugefügt, mit der Aktualisierungen während einer laufenden Übung möglich sind. GolfExerciseTypeConfig wurde hinzugefügt, um ExerciseTypeConfig während Golfübungen zu aktualisieren. (I4c539)

API-Änderungen

  • HealthServicesException bei Suspend-Funktionen auswerfen (I5e509)
  • Einen weiteren Konstruktor für die Abwärtskompatibilität hinzufügen (Iddeda)
  • RuntimeException bei Suspend-Funktionen auslösen (I53bca)
  • Standardimplementierung des Auslösens von Ausnahmen entfernen (Id947f)
  • @JvmDefaultWithCompatibility-Anmerkung hinzufügen (I8f206)

Fehlerkorrekturen

  • Zur Klarstellung in den K-Doc aufnehmen (Ide285)
  • Passives Monitoring nur für Zielvorhaben zulassen, wenn auch dieselben Datentypen erfasst werden (Ibed8d)

Version 1.0.0-beta01

24. Oktober 2022

androidx.health:health-services-client:1.0.0-beta01 wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Neue Funktionen

  • Es ist jetzt möglich, über PassiveMonitoringClient auf Gesundheitsereignisse zu warten. Das erste Ereignis ist HealthEvent.FALL_DETECTED.

  • Neue Trainingstypen:

    • ALPINE_SKIING
    • BACKPACKING
    • CROSS_COUNTRY_SKIING
    • HORSE_RIDING
    • INLINE_SKATING
    • MOUNTAIN_BIKING
    • ORIENTEERING
    • ROLLER_SKATING
    • YACHTING
  • Neue Datentypen:

    • ELEVATION_LOSS
    • GOLF_SHOT_COUNT

API-Änderungen

  • Datenmodell aktualisiert: Das Datenmodell und die Darstellung von DataTypes, DataPoints und ihren zugrunde liegenden Werten wurden überarbeitet. Die wichtigste Auswirkung besteht darin, dass APIs jetzt viel expliziter und typsicher sind.
  • Standort-DataPoints werden nicht mehr als DoubleArray, sondern als stark typisiertes LocationData-Objekt dargestellt.
  • Es wurde zu einer neuen Reihe von APIs für passive Listener gewechselt:
    • Die Übertragung wurde durch die PassiveListenerService ersetzt.
    • Die vorhandenen Hörer wurden durch einen einzelnen Hörer ersetzt: PassiveListenerCallback.
  • Dem Manifest für Gesundheitsdienste wurde das <queries>-Tag hinzugefügt, damit Entwickler dies nicht mehr in ihrem eigenen Manifest angeben müssen, sofern die Manifest-Dateien in ihrem Build-System zusammengeführt werden.
  • Wir haben die vielen ExerciseStates entfernt, die das Ende einer Übung symbolisieren, und neue Übungszustände hinzugefügt: ENDING und ENDED. Diese werden jetzt mit ExerciseEndReason kombiniert, um die gesamte Bandbreite der vorherigen Status darzustellen.
  • PassiveListenerConfig setPassiveGoals wurde in setDailyGoals umbenannt, um besser zu verdeutlichen, dass wir nur tägliche passive Ziele unterstützen.
  • PassiveGoals sind jetzt immer REPEATED, passive TriggerFrequency wurden entfernt.
  • Alle Long- und Double-Parameter wurden mit @FloatRange gekennzeichnet.
  • Dem Attribut ExerciseConfig wurde das Attribut swimmingPoolLengthMeters hinzugefügt, das optional angegeben werden kann, um die Entfernungsberechnungen für Schwimmen im Pool zu verbessern.
  • ExerciseUpdate.activeDuration wurde eingestellt. Verwenden Sie stattdessen ExerciseUpdate.activeDurationCheckpoint.
  • Die API flushExerciseAsync() wurde in ExerciseClient in flushAsync() umbenannt.
  • Measure.registerCallback wurde in Measure.registerMeasureCallback umbenannt.
  • Allgemeine Änderungen an der Benennung:
    • Entfernungseigenschaften haben jetzt das Suffix meters.
    • Die Namen der Callback-Methoden werden jetzt im Präteritum angegeben.
    • Die meisten Abkürzungen wurden entfernt (HrAccuracy ist jetzt HeartRateAccuracy).
    • Eigenschaften, die dem Muster enableFoo folgen, heißen jetzt isFooEnabled.
  • Enums wurden eingestellt.
  • Zeiten, die zuvor mit Double dargestellt wurden, werden jetzt mit Duration dargestellt.
  • Funktionen, die eine ListenableFuture<Void?> zurückgeben, geben jetzt eine ListenableFuture<Void> zurück.
  • Bei Funktionen, die einen Rückruf akzeptieren, wird der Rückruf jetzt immer als letzter Parameter angezeigt.
  • Klassen mit Buildern haben jetzt immer auch öffentliche Konstruktoren.
  • Registrierungsfunktionen geben keinen ListenableFuture mehr zurück, sondern übergeben den Registrierungsstatus an den angegebenen Callback.
  • KDocs wurden verbessert.
  • Öffentliche Kurse erweitern ProtoParcelable nicht mehr.

Fehlerkorrekturen

  • Allgemeine Verbesserungen der IPC-Zuverlässigkeit (I3b1e2)

Version 1.0.0-alpha03

3. November 2021

androidx.health:health-services-client:1.0.0-alpha03 wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Das SDK registriert automatisch die Registrierungsanfragen für Messwerte, Trainingsereignisse und passive Überwachung, falls die IPC-Verbindung mit der APK der Gesundheitsdienste unterbrochen wird.

API-Änderungen

  • Die minSdkVersion der SDK-Bibliothek wurde auf API-Level 30 erhöht, da der Health Services-Client derzeit nur auf Wear 3 unterstützt wird.

Version 1.0.0-alpha02

29. September 2021

androidx.health:health-services-client:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • ExerciseClient unterstützt jetzt die Vorbereitung einer Übung. So können Kunden die Sensoren aufwärmen und auf Dinge wie eine GPS-Fixierung warten, bevor sie mit dem Training beginnen.
  • Es wurden die Klassen „CumulativeDataPoints“ und „StatisticalDataPoints“ für „AggregateDataPoint“ eingeführt, um zusammengefasste Messwerte, die während einer aktiven Übung erfasst werden, besser zu modellieren. CumulativeDataPoints enthalten kumulative Werte aggregierter Intervalldatentypen (z. B. die Gesamtstrecke während des Trainings), während StatisticalDataPoints Aggregate von Stichprobendatenpunkten (z. B. min, max und durchschnittliche Herzfrequenz in Schlägen pro Minute) modellieren. Dieser ersetzt die vorherigen AGGREGATE_*-Datentypen und kann in der „ExerciseUpdate“ über getLatestAggregateMetrics() aufgerufen werden. AGGREGATE_*-Datentypen werden nicht mehr unterstützt.
  • PassiveMonitoring-Ereignisse wurden in PassiveGoals umbenannt. Damit können Sie Ziele festlegen und Benachrichtigungen erhalten, wenn diese Ziele für Datentypen wie tägliche Messwerte (z. B. DAILY_STEPS) erreicht werden.
  • Verbesserte Modellierung der Herzfrequenz und der Standortgenauigkeit und -verfügbarkeit durch die Einführung der neuen Klassen „HrAccuracy“, „LocationAccuracy“ und „LocationAvailability“.
  • Die Benennung von ExerciseConfig wurde verbessert und neue PassiveMonitoringConfig-Felder sowie ExerciseConfig.shouldEnableGps zum Anfordern von GPS-gestützten Daten wurden eingeführt.

Fehlerkorrekturen

  • Migration zu einem proto-gestützten IPC-Transport für eine bessere Abwärtskompatibilität

Version 1.0.0-alpha01

18. Mai 2021

androidx.health:health-services-client:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Funktionen der Erstversion

Die Health Services-Bibliothek bietet Entwicklern eine einheitliche Reihe von APIs, die sie in gerätespezifische Sensorimplementierungen einbinden können. Die Funktion ist sofort einsatzbereit und funktioniert mit Wear OS 3-Emulatoren und zukünftigen Geräten. Weitere Plattformen werden in Zukunft unterstützt. Diese erste Version enthält drei API-Oberflächen der obersten Ebene: ExerciseClient, PassiveMonitoringClient und MeasureClient.

ExerciseClient

Der ExerciseClient ist für Anwendungen zum Erfassen aktiver Trainings konzipiert. Er bietet bis zu 82 verschiedene ExerciseTypes, von Gehen und Laufen bis hin zu Tanzen und Wasserball. Während dieser Übungen stehen je nach Trainingstyp und auf dem Gerät verfügbarer Hardware 50 unterschiedliche DataType zur Verfügung. Geben Sie dazu einfach die relevanten Informationen in ExerciseConfig an, rufen Sie exerciseClient.startExercise auf und warten Sie auf den Fortschritt des Update-Listeners.

PassiveMonitoringClient

Die PassiveMonitoringClient ist eine gute Wahl, wenn Ihre App die Aktivitäten der Nutzer den ganzen Tag über erfasst. Sie können eine PendingIntent mit einer Reihe von DataTypes registrieren und benachrichtigt werden, wenn es Änderungen im Batch gibt. Alternativ können Sie eine Event angeben, z. B. das Erreichen einer bestimmten Anzahl von Schritten.

MeasureClient

Manchmal muss der Nutzer z.B. seine Herzfrequenz im Moment messen, nicht während eines Trainings und nicht den ganzen Tag über. In diesen Fällen ist die MeasureClient die perfekte Wahl.Sie registrieren Ihren Callback einfach bei unterstützten DataTypes, um einen Datenstream zu erhalten, und heben die Registrierung auf, wenn er nicht mehr benötigt wird.