Zustand
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:
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha04" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha04") }
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.
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 aufSet<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 KlassePermissionController.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
- Umbenannt:
- 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
undgetMetric
inAggregationResult
wurden verworfen und Operatoren „Enthält“ und „Abrufen“ (I7cc7c) hinzugefügt- Fügt
OvulationTest.Result.HIGH
undOvulationTest.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 denExerciseEvent
-Primitiven können Entwickler den Support anfragen und anfordern, dass du benachrichtigt wirst, wenn die Smartwatch etwas entdeckt. MitGolfShotEvent
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
unddurationAtThreshold
) 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 aggregierteDataType
fürSWIM_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
undprepareExercise
zu einemConcurrentModificationException
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-FunktionoverrideBatchingModesForActiveExercise
fehlschlägt (Ifd387)- Für die asynchrone
overrideBatchingModesForActiveExercise
API wurden Sperrfunktionen eingeführt, um sie kotlinfreundlicher zu gestalten (I7dd15). BatchingMode
überschreibt optional inExerciseConfig
(Id22e9)
Fehlerkorrekturen
- Kleine Korrekturen für
DataType
undExerciseUpdate
(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 asynchronenListenableFuture
APIs inExerciseClient
,PassiveMonitoringClient
undMeasureClient
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 vonExerciseTypeConfig
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 istHealthEvent.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-
DataPoint
s werden nicht mehr alsDoubleArray
, sondern als stark typisiertesLocationData
-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
.
- Die Übertragung wurde durch
- 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
ExerciseState
s entfernt, um anzuzeigen, dass das Training zu Ende / beendet ist, und neue TrainingsstatusENDING
undENDED
hinzugefügt. Diese werden jetzt mitExerciseEndReason
kombiniert, um die gesamte Bandbreite der vorherigen Status darzustellen. PassiveListenerConfig
setPassiveGoals
wurde insetDailyGoals
umbenannt, um besser darzustellen, dass nur passive tägliche Ziele unterstützt werden.PassiveGoal
s sind jetzt immerREPEATED
, passiveTriggerFrequency
entfernt.- Alle
Long
- undDouble
-Parameter mit@FloatRange
annotiert. - Der Property „
ExerciseConfig
“ wurde eineswimmingPoolLengthMeters
-Property hinzugefügt, die optional angegeben werden kann, um die Berechnung der Distanz für das Schwimmbad zu verbessern. - Eingestellt:
ExerciseUpdate.activeDuration
. Verwende stattdessenExerciseUpdate.activeDurationCheckpoint
. - Die API
flushExerciseAsync()
wurde inExerciseClient
influshAsync()
umbenannt. Measure.registerCallback
umbenannt inMeasure.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 jetztHeartRateAccuracy
). - Eigenschaften, die dem Muster
enableFoo
folgen, heißen jetztisFooEnabled
.
- Entfernungseigenschaften haben jetzt das Suffix
- Von „Enums“ migriert.
- Die durch
Double
dargestellten Zeiten werden jetzt durchDuration
dargestellt. - Funktionen, die ein
ListenableFuture<Void?>
zurückgeben, geben jetzt einListenableFuture<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 übergetLatestAggregateMetrics()
möglich.AGGREGATE_*
Datentypen werden nicht mehr unterstützt. PassiveMonitoring
Ereignisse wurden inPassiveGoals
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 neuenPassiveMonitoringConfig
-Felder wurden verbessert. Außerdem wurdeExerciseConfig.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 ExerciseType
s 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 DataType
s 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 DataType
s 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 DataType
s, um einen Datenstream zu erhalten, und heben die Registrierung deines Callbacks auf, wenn er nicht mehr benötigt wird.