Zustand

  
Erstellen Sie leistungsfähige plattformunabhängige Gesundheitsanwendungen.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
14. Mai 2024 1.0.0-rc02 1.1.0-alpha03

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von Health müssen Sie Ihrem Projekt das Maven-Repository von Google hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten 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

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Health Connect-Client Version 1.0

Version 1.0.0-alpha04

24. August 2022

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

Ändern Sie für die Migration einfach den Abhängigkeitsimport von androidx.health:health-connect-client:1.0.0-alpha03 zu 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 freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Zusammenfassung der neuen API-Änderungen: Den Lese-, Schreib- und Aggregat-APIs wurden einige Einheiten hinzugefügt. Apps können jetzt Datensätze mit der Einheit ihrer Wahl abrufen oder schreiben, z. B. Gramm oder Milligramm für NutritionRecord-Nährstoffe.

API-Änderungen

  • Korrigieren Sie List<DataOrigin> in verschiedenen Anfrageantwortobjekten auf Set<DataOrigin>. (I42342)
  • Korrigieren Sie die Einheit der Gesamtkalorien als Basiswert aus Power->Energy. (I0b429)
  • Verschobene Beispielklassen für Reihen innerhalb von Reiheneinträgen (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • Die Klasse HealthDataRequestPermission wird zugunsten der Klasse PermissionController.createRequestPermissionActivityContract eingestellt. Dies verbessert die Sichtbarkeit und eine einheitliche Parametrisierung. (I81e7f)
  • Volumen um US-Flüssigunzen ergänzt. (I5f03d)
  • Zusätzlicher Typ für Geschwindigkeitseinheit (I1d574)
  • Zusätzlicher Prozentsatzeinheitstyp (I08f23)
  • Hinzugefügter Druckeinheitstyp (Ifb01f)
  • Hinzugefügter Masseneinheitstyp (Ifd81a)
  • Zusätzlicher Volumeneinheitstyp (I59ad1)
  • Typ „Anlage“ wurde hinzugefügt. Beispielklasse für Potenzreihe in PowerRecord-Klasse verschoben. (I5b1e5)
  • Hinzugefügter Typ der Energieeinheit (I983ae)
  • Zusätzlicher Temperatureinheitstyp (I4cdb5)
  • Benennen Sie Verweise auf Aktivitäten so um, dass sie speziell für das Training verwendet werden, einschließlich (I3f936):
    • Umbenannt: ActivityLap -> ExerciseLapRecord
    • Umbenannt: ActivityEvent -> ExerciseEventRecord
    • Umbenannt: Repetitions -> ExerciseRepetitionsRecord
    • Umbenannt: ActivitySession -> ExerciseSessionRecord
  • Unter Datensätzen verschachtelte Paketmetadaten wurden verschoben. (Ie0835)
  • Verwendete Längeneinheit in allen verbleibenden Datensätzen (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Zusätzlicher Längeneinheitstyp (Idae39)
  • Aktualisieren Sie die CervicalMucus-Beschreibungsterminologie (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Allen Eintragsklassennamen wurde das Suffix „Record“ hinzugefügt (I1ffc2).

Fehlerkorrekturen

  • Beheben Sie Proguard-Probleme, wenn die Bibliotheken mit dem Release-Flavor und minifyEnabled „true“ erstellt wurden. (I78933)
  • Blendet Dokumentationen aus, die nicht für die öffentliche Verwendung bestimmt sind. (I7a08f)
  • Behebt das Problem bei Clients, die möglicherweise eigene protobuf-Abhängigkeiten haben (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 freigegeben. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • hasMetric und getMetric in AggregationResult wurden verworfen und Operatoren „Enthält“ und „Abrufen“ (I7cc7c) hinzugefügt
  • Fügt OvulationTest.Result.HIGH und OvulationTest.Result.INCONCLUSIVE hinzu. (I9f9c4)

Fehlerkorrekturen

  • Reduzieren Sie die SDK-Anforderungen auf 26. (I6d201)

Version 1.0.0-alpha01

11. Mai 2022

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

Neue Funktionen

  • API zum Lesen von Fitness- und Gesundheitsdaten, die von anderen Apps geteilt werden.
  • API zum Schreiben von Fitness- und Gesundheitsdaten, die mit anderen Apps geteilt werden können
  • API zum Abrufen aggregierter Messwerte für zugängliche Datensätze.
  • API zum Abrufen von inkrementellen Änderungen (Einfügen, Aktualisieren oder Löschen) von Datensätzen durch andere Apps
  • API, mit der Nutzer zur Eingabe von Gesundheitsberechtigungen aufgefordert werden.
  • API zum Prüfen von Berechtigungen oder Widerrufen gewährter Zugriffsberechtigungen.

Version 1.1 des Gesundheitsdienstleisters

Version 1.1.0-alpha02

13. Dezember 2023

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

API-Änderungen

  • Verwende eine zentrale, verlässliche Datenquelle für unterstützte ExerciseEvent-Werte. (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 freigegeben. 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 anfordern, dass du benachrichtigt wirst, wenn die Smartwatch etwas entdeckt. Mit GolfShotEvent können Entwickler zusätzlich zum erkannten Schlagtyp auch benachrichtigt werden, wenn der Nutzer einen Golfschläger macht.

API-Änderungen

  • Aktivieren Sie WHS SDK-Clients, um GolfShotEvent-Funktionen zu verwenden. (I76b03)

Fehlerkorrekturen

  • Anstatt aggressiv Ausnahmen für das Anzeigen unbekannter Trainingsereignisfunktionen auszulösen, filtern Sie sie aus der Liste heraus. (I06afc)

Version 1.0 des Gesundheitsdienstleisters

Version 1.1.0-alpha03

14. Mai 2024

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

Neue Funktionen

  • Einführung von DebouncedGoal-APIs, die es ermöglichen, während des Trainings mit Entprellenfunktionen(initialDelay und durationAtThreshold) ein Ziel für den Beispieldatentyp oder den Beispieldatentyp „Statistik“ zu verfolgen (I09be9)
  • Das folgende Beispiel für erweiterte Ausführungsmesswerte und die Statistik 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 als aggregierte DataType für SWIM_LAP_COUNT hinzugefügt. (I0beeb)

Fehlerkorrekturen

  • Verschiedene Probleme wurden 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 freigegeben. Version 1.0.0-rc02 enthält diese Commits. Diese Version ist nur zur Fehlerkorrektur vorgesehen und enthält keine API-Änderungen.

Fehlerkorrekturen

  • Verschiedene Probleme behoben, um die IPC-Zuverlässigkeit zu verbessern
  • Es wurde ein Problem behoben, bei dem gleichzeitiges Aufrufen von startExercise und prepareExercise zu einem 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 freigegeben. Version 1.0.0-rc01 enthält diese Commits.

Neue Funktionen

  • Das Gesundheitswesen wurde nach der Stabilisierung in der Betaversion auf 1.0.0-rc01 umgestellt.

API-Änderungen

  • Öffentliche und experimentelle API-Dateien für h- durch m-paths zusammengeführt. (Ic4630, b/278769092)
  • Nicht zutreffend, API-Dateiänderungen sind nur Neuanordnungsmethoden. (I5fa95)

Version 1.0.0-beta03

5. April 2023

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

Neue Funktionen

BatchingMode kann jetzt so konfiguriert werden, dass Batch-Trainingsdaten während eines aktiven Trainings im konfigurierten Intervall statt zum Standardintervall bereitgestellt werden, entweder zu Beginn des Trainings über ExerciseConfig oder während einer Überschreibungsmethode. Dies wird in einer zukünftigen Version der Gesundheitsdienste im Google Play Store unterstützt und kann über die Trainingsfunktionen geprüft werden. Hinweis: Stapelmodi werden wirksam, wenn sich das Gerät nicht im interaktiven Zustand befindet, und verursachen einen höheren Stromverbrauch.

API-Änderungen

  • HealthServicesException wird ausgelöst, wenn die Anhalten-Funktion overrideBatchingModesForActiveExercise fehlschlägt (Ifd387)
  • Für die asynchrone overrideBatchingModesForActiveExercise API wurden Sperrfunktionen eingeführt, um sie kotlinfreundlicher zu gestalten (I7dd15).
  • BatchingMode überschreibt optional in ExerciseConfig (Id22e9)

Fehlerkorrekturen

  • Kleine Korrekturen für DataType und ExerciseUpdate (5e185f)

Version 1.0.0-beta02

11. Januar 2023

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

Neue Funktionen

  • Für eine bessere Kotlin-Unterstützung wurden suspend-Erweiterungsfunktionen für die vorhandenen asynchronen ListenableFuture APIs in ExerciseClient, PassiveMonitoringClient und MeasureClient hinzugefügt. (Iadea4)
  • Die ExerciseTypeConfig API wurde hinzugefügt, die Updates während eines laufenden Trainings ermöglicht. GolfExerciseTypeConfig wurde hinzugefügt, um die Aktualisierung von ExerciseTypeConfig während Golfübungen zu unterstützen. (I4c539)

API-Änderungen

  • HealthServicesException für Sperrfunktionen auslösen (I5e509)
  • Weiteren Konstruktor für Abwärtskompatibilität hinzufügen (Iddeda)
  • RuntimeException für Sperrfunktionen auslösen (I53bca)
  • Standardimplementierung des Auslösens von Ausnahme entfernen (Id947f)
  • Anmerkung @JvmDefaultWithCompatibility hinzufügen (I8f206)

Fehlerkorrekturen

  • Zur Verdeutlichung zu KDOC hinzufügen (Ide285)
  • Passives Monitoring von Zielen nur zulassen, wenn dieselben Datentypen ebenfalls erfasst werden (Ibed8d)

Version 1.0.0-beta01

24. Oktober 2022

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

Neue Funktionen

  • Es wurde die Möglichkeit hinzugefügt, über PassiveMonitoringClient auf Gesundheitsereignisse zu warten. Das erste Ereignis ist HealthEvent.FALL_DETECTED.

  • Neue Übungstypen:

    • 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

  • Die Modellierung von Daten wurde aktualisiert: Das Datenmodell und die Darstellung von DataType-, DataPoint- und deren zugrunde liegenden Werten wurden überarbeitet. Die oberste Ebene hat zur Folge, dass APIs jetzt viel expliziter und typsicherer sind.
  • Standort-DataPoints werden nicht mehr als DoubleArray, sondern als stark typisiertes LocationData-Objekt dargestellt.
  • Es wurden neue passive Listener APIs hinzugefügt:
    • Die Übertragung wurde durch PassiveListenerService ersetzt.
    • Die vorhandenen Listener wurden durch einen einzelnen Listener ersetzt: PassiveListenerCallback.
  • Dem Manifest für Gesundheitsdienste wurde das Tag <queries> hinzugefügt, sodass Apps dies nicht mehr in ihrem eigenen Manifest angeben müssen (vorausgesetzt, die Manifestzusammenführung ist im Build-System aktiviert).
  • Wurde von vielen ExerciseStates entfernt, um anzuzeigen, dass das Training zu Ende / beendet ist, und neue Trainingsstatus ENDING und ENDED hinzugefügt. Diese werden jetzt mit ExerciseEndReason kombiniert, um die gesamte Bandbreite der vorherigen Status darzustellen.
  • PassiveListenerConfig setPassiveGoals wurde in setDailyGoals umbenannt, um besser darzustellen, dass nur passive tägliche Ziele unterstützt werden.
  • PassiveGoals sind jetzt immer REPEATED, passive TriggerFrequency entfernt.
  • Alle Long- und Double-Parameter mit @FloatRange annotiert.
  • Der Property „ExerciseConfig“ wurde eine swimmingPoolLengthMeters-Property hinzugefügt, die optional angegeben werden kann, um die Berechnung der Distanz für das Schwimmbad zu verbessern.
  • Eingestellt: ExerciseUpdate.activeDuration. Verwende stattdessen ExerciseUpdate.activeDurationCheckpoint.
  • Die API flushExerciseAsync() wurde in ExerciseClient in flushAsync() umbenannt.
  • Measure.registerCallback umbenannt in Measure.registerMeasureCallback.
  • Allgemeine Änderungen bei der Benennung:
    • Entfernungseigenschaften haben jetzt das Suffix meters.
    • Die Namen von Callback-Methoden sind jetzt in der Vergangenheit.
    • Die meisten Abkürzungen wurden entfernt (HrAccuracy heißt jetzt HeartRateAccuracy).
    • Eigenschaften, die dem Muster enableFoo folgen, heißen jetzt isFooEnabled.
  • Von „Enums“ migriert.
  • Die durch Double dargestellten Zeiten werden jetzt durch Duration dargestellt.
  • Funktionen, die ein ListenableFuture<Void?> zurückgeben, geben jetzt ein ListenableFuture<Void> zurück.
  • Bei Funktionen, die einen Callback akzeptieren, wird der Callback jetzt immer als letzter Parameter angezeigt.
  • Klassen mit Buildern verfügen jetzt immer über öffentliche Konstruktoren.
  • Registrierungsfunktionen geben keinen ListenableFuture mehr zurück und übergeben stattdessen den Registrierungsstatus an den bereitgestellten Callback.
  • KDocs wurde jetzt verbessert.
  • Öffentliche Kurse erweitern nicht mehr ProtoParcelable.

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 freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Falls die IPC-Verbindung mit dem Health Services APK unterbrochen wird, registriert das SDK die Messung, den Trainings-Listener und die passives Monitoring-Rückrufregistrierungsanfragen automatisch neu.

API-Änderungen

  • minSdkVersion der SDK-Bibliothek wurde auf API-Level 30 erhöht, da der Client für Gesundheitsdienste derzeit nur unter Wear 3 unterstützt wird.

Version 1.0.0-alpha02

29. September 2021

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

API-Änderungen

  • ExerciseClient unterstützt jetzt die Vorbereitung eines Trainings. Dadurch können die Kunden die Sensoren aufwärmen und auf Dinge wie einen GPS-Fix warten, bevor sie mit dem Training beginnen.
  • Einführung der Klassen CumulativeDataPoints und StatisticalDataPoints AggregateDataPoint zur besseren Modellierung von aggregierten Metriken, die während eines aktiven Trainings aufgezeichnet werden. CumulativeDataPoints enthalten kumulative Werte von aggregierten Intervalldatentypen (wie die Gesamtstrecke während des Trainings), während StatisticalDataPoints aggregierte Stichproben von Datenpunkten modelliert (z. B. min., max und durchschnittliche Herzfrequenz pro Minute). Dies ersetzt die vorherigen AGGREGATE_*-Datentypen. Der Zugriff ist im Übungsupdate über getLatestAggregateMetrics() möglich. AGGREGATE_* Datentypen werden nicht mehr unterstützt.
  • PassiveMonitoring Ereignisse wurden in PassiveGoals umbenannt. Dies unterstützt das Festlegen von Zielen und den Empfang von Benachrichtigungen, wenn diese Ziele erreicht werden, für Datentypen wie tägliche Messwerte (z. B. DAILY_STEPS).
  • Verbesserte Modellierung von Herzfrequenz und Standortgenauigkeit und -verfügbarkeit durch Einführung der neuen Klassen „HrAccuracy“, „LocationAccuracy“ und „LocationAvailability“.
  • Die Benennung von ExerciseConfig und die neuen PassiveMonitoringConfig-Felder wurden verbessert. Außerdem wurde ExerciseConfig.shouldEnableGps eingeführt, um GPS-gestützte Daten anzufordern.

Fehlerkorrekturen

  • Migration auf proto-gestützter IPC-Transport für bessere Abwärtskompatibilität

Version 1.0.0-alpha01

18. Mai 2021

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

Funktionen der ersten Version

Die Bibliothek für Gesundheitsdienste bietet Entwicklern einheitliche APIs zur Einbindung in gerätespezifische Sensorimplementierungen. Mit Wear OS 3-Emulatoren und neuen Geräten funktioniert der Dienst sofort. Weitere Plattformen werden in Zukunft unterstützt. Diese erste Version enthält drei API-Oberflächen der obersten Ebene: ExerciseClient, PassiveMonitoringClient und MeasureClient.

Trainingsclient

Die ExerciseClient wurde für Anwendungen entwickelt, die aktive Workouts aufzeichnen. Es bietet bis zu 82 verschiedene ExerciseTypes von Gehen und Laufen bis hin zu Tanz und Wasserball. Beim Aufzeichnen dieser Übungen stehen dir je nach Übungstyp und verfügbarer Hardware des Geräts 50 verschiedene DataTypes zur Verfügung. Geben Sie einfach die relevanten Informationen in Ihrem ExerciseConfig an, rufen Sie exerciseClient.startExercise auf und prüfen Sie den Fortschritt im Update-Listener.

PassiveMonitoringClient

PassiveMonitoringClient ist eine gute Wahl, wenn Ihre App die Aktivitäten der Nutzer im Laufe des Tages verfolgt. Sie können ein PendingIntent mit einer Reihe von DataTypes registrieren und aufgeweckt werden, um Batch-Änderungen zu verarbeiten. Alternativ kannst du eine Event angeben, z. B. das Erreichen einer bestimmten Anzahl von Schritten.

MeasureClient

Manchmal müssen Nutzende z.B. ihre Herzfrequenz in dem Moment, nicht während des Trainings und nicht im Laufe des Tages messen. In diesen Momenten ist die MeasureClient die perfekte Wahl.Du registrierst einfach deinen Callback bei unterstützten DataTypes, um einen Datenstream zu erhalten, und heben die Registrierung deines Callbacks auf, wenn er nicht mehr benötigt wird.