État

  
Créez des applications de santé performantes, indépendamment de la plate-forme.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
11 décembre 2024 - 1.0.0-rc02 - 1.1.0-alpha05

Déclarer des dépendances

Pour ajouter une dépendance sur Health, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances des artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou module :

Groovy

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

Kotlin

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

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Client Santé Connect version 1.0

Version 1.0.0-alpha04

24 août 2022

Depuis la version 1.0.0-alpha04, androidx.health:health-connect-client a été migré vers androidx.health.connect:connect-client. Pour vos futures versions, veuillez utiliser androidx.health.connect:connect-client et les notes de version associées sur notre page Santé Connect.

Pour effectuer la migration, remplacez simplement l'importation des dépendances androidx.health:health-connect-client:1.0.0-alpha03 par androidx.health.connect:connect-client:1.0.0-alpha04.

Version 1.0.0-alpha03

27 juillet 2022

Publication d'androidx.health:health-connect-client:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Résumé des modifications : un ensemble d'unités a été ajouté aux API de lecture, d'écriture et d'agrégation. Les applications peuvent désormais récupérer ou écrire des enregistrements avec l'unité de leur choix, par exemple le gramme ou le milligramme pour les nutriments de NutritionRecord.

Modifications apportées à l'API

  • Correction de List<DataOrigin> en Set<DataOrigin> dans différents objets de réponse aux requêtes. (I42342)
  • Correction de l'unité pour le nombre total de calories brûlées au repos dans Power->Energy. (I0b429)
  • Déplacement des exemples de classes de série dans les enregistrements de série. (Ica9bb) :
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • Abandon de la classe HealthDataRequestPermission en faveur de PermissionController.createRequestPermissionActivityContract, pour une meilleure visibilité et un paramétrage unifié. (I81e7f)
  • Ajout de l'once liquide comme unité de volume. (I5f03d)
  • Ajout du type d'unité Speed. (I1d574)
  • Ajout du type d'unité Percentage. (I08f23)
  • Ajout du type d'unité Pressure. (Ifb01f)
  • Ajout du type d'unité Mass. (Ifd81a)
  • Ajout du type d'unité Volume. (I59ad1)
  • Ajout du type d'unité Power. Déplacement de l'exemple de classe de série Power dans la classe PowerRecord. (I5b1e5)
  • Ajout du type d'unité Energy. (I983ae)
  • Ajout du type d'unité Temperature. (I4cdb5)
  • Changement de nom : les références liées à Activity sont désormais adaptées à Exercise, par exemple (I3f936) :
    • ActivityLap devient ExerciseLapRecord
    • ActivityEvent devient ExerciseEventRecord
    • Repetitions devient ExerciseRepetitionsRecord
    • ActivitySession devient ExerciseSessionRecord
  • Déplacement des métadonnées de package imbriquées sous les enregistrements. (Ie0835)
  • Utilisation de l'unité Length dans tous les enregistrements restants (Ib10dd) :
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Ajout du type d'unité Length. (Idae39)
  • Mise à jour de la terminologie servant à décrire CervicalMucus (I25a2b) :
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Ajout du suffixe "Record" à tous les noms de classe d'enregistrement. (I1ffc2)

Corrections de bugs

  • Correction des problèmes liés à ProGuard lorsque la bibliothèque est compilée avec le type "release" et que minifyEnabled est défini sur "true". (I78933)
  • Masquage de la documentation non destinée à un usage public. (I7a08f)
  • Correction du problème dans les clients susceptibles de disposer de leurs propres dépendances de tampon de protocole. (https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)

Version 1.0.0-alpha02

1er juin 2022

Publication de androidx.health:health-connect-client:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Modifications apportées à l'API

  • Abandon de hasMetric et getMetric dans AggregationResult, et ajout des opérateurs contains et get. (I7cc7c)
  • Ajout de OvulationTest.Result.HIGH et OvulationTest.Result.INCONCLUSIVE. (I9f9c4)

Corrections de bugs

  • Nouvelle configuration minimale requise : SDK 26. (I6d201)

Version 1.0.0-alpha01

11 mai 2022

Publication d'androidx.health:health-connect-client:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

  • API permettant de lire les informations de santé et de remise en forme partagées par d'autres applications.
  • API permettant d'écrire des informations de santé et de remise en forme à partager avec d'autres applications.
  • API permettant de récupérer des métriques agrégées pour les enregistrements accessibles.
  • API permettant de récupérer les modifications incrémentielles (ajout, mise à jour ou suppression) apportées aux enregistrements par d'autres applications.
  • API permettant de demander aux utilisateurs des autorisations concernant leurs informations de santé.
  • API permettant de vérifier ou de révoquer les autorisations accordées concernant les informations de santé.

Client Services Santé version 1.1

Version 1.1.0-alpha05

11 décembre 2024

Publication d'androidx.health:health-services-client:1.1.0-alpha05, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05 et androidx.health:health-services-client-proto:1.1.0-alpha05. La version 1.1.0-alpha05 contient ces commits.

Nouvelles fonctionnalités

  • Inclut désormais des règles ProGuard pour éviter que les classes nécessaires ne soient supprimées. (65d0c3f)

Correction de bugs

  • Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont des annotations de type. Les développeurs Kotlin doivent utiliser les arguments de compilation suivants pour appliquer une utilisation correcte: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Iaf73a, b/326456246).

Version 1.1.0-alpha04

16 octobre 2024

Publication d'androidx.health:health-services-client:1.1.0-alpha04, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04 et androidx.health:health-services-client-proto:1.1.0-alpha04. La version 1.1.0-alpha04 contient ces commits.

Correctifs de sécurité

  • Depuis cette modification, androidx compile avec protobuf 4.28.2 afin de corriger CVE-2024-7254. Mettez à niveau votre dépendance sur androidx.health:health-services-client vers la dernière version 1.1.0-alpha04 pour résoudre le risque de faille.

Version 1.1.0-alpha02

13 décembre 2023

Publication d'androidx.health:health-services-client:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Modifications apportées à l'API

  • Utilisez une seule source de vérité pour les ExerciseEvent compatibles. (I03308)

Correction de bugs

  • Correction de bugs mineurs et améliorations de la documentation.

Version 1.1.0-alpha01

9 août 2023

Publication d'androidx.health:health-services-client:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Nouvelles fonctionnalités

  • Des API ExerciseEvent ont été ajoutées avec le premier événement concret: GolfShotEvent. Les primitives ExerciseEvent permettent aux développeurs de demander de l'aide et d'être avertis lorsque la montre détecte un événement. GolfShotEvent, par exemple, permet aux développeurs d'être avertis lorsque l'utilisateur frappe un coup de golf, en plus de recevoir le type de swing reconnu.

Modifications apportées à l'API

  • Permet aux clients du SDK WHS d'utiliser les fonctionnalités GolfShotEvent. (I76b03)

Correction de bugs

  • Plutôt que de générer des exceptions agressives en cas de détection de fonctionnalités d'événements d'exercice inconnues, filtrez-les de la liste. (I06afc)

Client Services Santé version 1.0

Version 1.1.0-alpha03

14 mai 2024

Publication d'androidx.health:health-services-client:1.1.0-alpha03. La version 1.1.0-alpha03 contient ces commits.

Nouvelles fonctionnalités

  • Ajout d'API DebouncedGoal permettant de suivre un objectif pour un type d'échantillon de données ou un type d'échantillon de données de statistiques pendant l'exercice avec des fonctionnalités de débouncing(initialDelay et durationAtThreshold). (I09be9)
  • Ajout de l'exemple de métriques d'exécution avancées et de l'DataTypes statistique suivants. (I0b8b5) :
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

Modifications apportées à l'API

  • Ajout de ELEVATION_GAIN_DAILY DataType. (I059d1)
  • Ajout de SWIM_LAP_COUNT_TOTAL DataType en tant que DataType agrégé pour SWIM_LAP_COUNT. (I0beeb)

Correction de bugs

  • Correction de divers problèmes pour améliorer la fiabilité de l'IPC.

Version 1.0.0-rc02

3 avril 2024

Publication d'androidx.health:health-services-client:1.0.0-rc02. La version 1.0.0-rc02 contient ces commits. Il s'agit d'une version de correction de bugs uniquement et ne contient aucune modification d'API.

Correction de bugs

  • Correction de divers problèmes pour améliorer la fiabilité de l'IPC
  • Correction d'un problème qui pouvait entraîner une ConcurrentModificationException lors de l'appel de startExercise en même temps que prepareExercise (4e37773).
  • Amélioration de la documentation

Version 1.0.0-rc01

26 juillet 2023

Publication d'androidx.health:health-services-client:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01

Nouvelles fonctionnalités

  • Health Services est passé à la version 1.0.0-rc01 après avoir été stabilisé en version bêta.

Modifications apportées à l'API

  • Fusion des fichiers d'API publics et expérimentaux pour les chemins h à m. (Ic4630, b/278769092)
  • N/A, les modifications apportées aux fichiers d'API ne sont que des méthodes de réorganisation. (I5fa95)

Version 1.0.0-beta03

5 avril 2023

Publication d'androidx.health:health-services-client:1.0.0-beta03. Liste des commits de la version 1.0.0-beta03

Nouvelles fonctionnalités

BatchingMode peut désormais être configuré pour envoyer des données d'exercice groupées à l'intervalle configuré au lieu de l'intervalle par défaut pendant un exercice actif, soit au début de l'exercice via ExerciseConfig, soit pendant l'exercice avec une méthode de forçage. Cette fonctionnalité sera disponible dans une prochaine version des services de santé sur le Google Play Store et pourra être vérifiée via les fonctionnalités d'exercice. Remarque: Les modes de traitement par lot prennent effet lorsque l'appareil est dans un état d'alimentation non interactif et augmentent la consommation d'énergie.

Modifications apportées à l'API

  • Lancement de HealthServicesException en cas d'échec de la fonction de suspension overrideBatchingModesForActiveExercise (Ifd387)
  • Ajout de fonctions de suspension pour l'API overrideBatchingModesForActiveExercise asynchrone, ce qui les rend plus compatibles avec Kotlin (I7dd15)
  • BatchingMode remplace l'optionnel dans ExerciseConfig (Id22e9)

Correction de bugs

  • Corrections mineures apportées à DataType et ExerciseUpdate (5e185f)

Version 1.0.0-beta02

11 janvier 2023

Publication d'androidx.health:health-services-client:1.0.0-beta02. Liste des commits de la version 1.0.0-beta02.

Nouvelles fonctionnalités

  • Ajout des fonctions d'extension suspend pour les API ListenableFuture asynchrones existantes dans ExerciseClient, PassiveMonitoringClient et MeasureClient pour une meilleure prise en charge de Kotlin. (Iadea4)
  • Ajout de l'API ExerciseTypeConfig qui permet d'effectuer des mises à jour pendant un exercice en cours. Ajout de GolfExerciseTypeConfig pour permettre la mise à jour d'ExerciseTypeConfig pendant les exercices de golf. (I4c539)

Modifications apportées à l'API

  • Lancement de HealthServicesException sur les fonctions de suspension (I5e509)
  • Ajout d'un autre constructeur pour assurer la rétrocompatibilité (Iddeda)
  • Lancement de RuntimeException sur les fonctions de suspension (I53bca)
  • Suppression de l'implémentation par défaut de l'exception de lancement (Id947f)
  • Ajout de l'annotation @JvmDefaultWithCompatibility (I8f206)

Corrections de bugs

  • Ajout à kdoc pour plus de clarté (Ide285)
  • Autorisation du suivi de surveillance passive pour les objectifs uniquement si les mêmes types de données font également l'objet d'un suivi (Ibed8d)

Version 1.0.0-beta01

24 octobre 2022

Publication d'androidx.health:health-services-client:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Nouvelles fonctionnalités

  • Ajout de la possibilité d'écouter des événements de santé via PassiveMonitoringClient, le premier événement étant HealthEvent.FALL_DETECTED.

  • Nouveaux types d'exercices :

    • ALPINE_SKIING
    • BACKPACKING
    • CROSS_COUNTRY_SKIING
    • HORSE_RIDING
    • INLINE_SKATING
    • MOUNTAIN_BIKING
    • ORIENTEERING
    • ROLLER_SKATING
    • YACHTING
  • Nouveaux types de données :

    • ELEVATION_LOSS
    • GOLF_SHOT_COUNT

Modifications apportées à l'API

  • Mise à jour de la modélisation des données : le modèle de données et la représentation de DataType, de DataPoint et des valeurs sous-jacentes ont été remaniés. L'impact principal est que les API sont désormais beaucoup plus explicites, avec une meilleure sûreté du typage.
  • Les objets DataPoint de position ne sont plus représentés par un élément DoubleArray, mais par un objet LocationData très typé.
  • Transfert vers un nouvel ensemble d'API d'écoute passives :
    • L'annonce a été remplacée par PassiveListenerService.
    • Les écouteurs existants ont été remplacés par un seul écouteur : PassiveListenerCallback.
  • Ajout de la balise <queries> au fichier manifeste de Services Santé afin que les applications n'aient plus besoin de la spécifier dans leur propre fichier manifeste (à condition que la fusion des fichiers manifeste soit activée dans leur système de compilation).
  • Abandon de nombreux états ExerciseState pour illustrer que l'exercice s'achève ou s'est terminé, et ajout de nouveaux états d'exercice (ENDING et ENDED). Ils sont maintenant combinés avec ExerciseEndReason pour représenter toute la gamme des états précédents.
  • PassiveListenerConfig a été renommé setPassiveGoals par setDailyGoals pour mieux refléter que nous n'acceptons que les objectifs passifs quotidiens.
  • Les éléments PassiveGoal sont désormais toujours REPEATED, tandis que les éléments TriggerFrequency passifs ont été supprimés.
  • Tous les paramètres Long et Double ont été annotés avec @FloatRange.
  • Ajout de la propriété swimmingPoolLengthMeters à ExerciseConfig, qui peut être spécifiée pour améliorer les calculs de distance pour les bassins de natation.
  • Abandon d'ExerciseUpdate.activeDuration. Utilisez ExerciseUpdate.activeDurationCheckpoint à la place.
  • L'API flushExerciseAsync() a été renommée flushAsync() dans ExerciseClient.
  • Remplacement du nom Measure.registerCallback par Measure.registerMeasureCallback.
  • Changements de noms généraux :
    • Les propriétés de distance comportent désormais le suffixe meters.
    • Les noms des méthodes de rappel sont désormais au temps passé.
    • La plupart des abréviations ont été supprimées (HrAccuracy est maintenant HeartRateAccuracy).
    • Les propriétés qui suivent le format enableFoo sont désormais nommées isFooEnabled.
  • Abandon progressif des énumérations.
  • Les heures représentées par Double sont désormais représentées par Duration.
  • Les fonctions renvoyant ListenableFuture<Void?> renvoient maintenant ListenableFuture<Void>.
  • Les fonctions qui acceptent un rappel affichent désormais toujours le rappel en tant que dernier paramètre.
  • Les classes comportant des compilateurs disposent maintenant toujours de constructeurs publics.
  • Les fonctions d'enregistrement ne renvoient plus de ListenableFuture et transmettent à la place l'état d'enregistrement au rappel fourni.
  • KDocs a été amélioré.
  • Les classes publiques n'étendent plus ProtoParcelable.

Corrections de bugs

  • Améliorations générales de la fiabilité de l'IPC. (I3b1e2)

Version 1.0.0-alpha03

3 novembre 2021

Publication d'androidx.health:health-services-client:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Réenregistrement automatique des mesures, écouteurs d'exercices et rappels de surveillance passive par le SDK en cas d'interruption de la connexion IPC avec l'APK Services Santé.

Modifications apportées à l'API

  • Remplacement du minSdkVersion de la bibliothèque du SDK par le niveau d'API 30, car le client Services Santé n'est actuellement compatible qu'avec Wear 3.

Version 1.0.0-alpha02

29 septembre 2021

Publication d'androidx.health:health-services-client:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Modifications apportées à l'API

  • Mise à jour de ExerciseClient, qui permet désormais de préparer un exercice. Les clients peuvent ainsi échauffer les capteurs avant de commencer l'exercice, le temps que le signal GPS se stabilise, par exemple.
  • Introduction des classes AggregateDataPoint CumulativeDataPoints et StatisticalDataPoints afin d'améliorer la modélisation des métriques agrégées suivies durant un exercice actif. CumulativeDataPoints contient les valeurs cumulées des données agrégées par intervalle (par exemple, la distance totale parcourue pendant l'exercice), tandis que le modèle StatisticalDataPoints cumule les points de données échantillonnés (comme la fréquence cardiaque minimale, maximale et moyenne). Ces classes remplacent les DataTypes AGGREGATE_* et sont accessibles dans ExerciseUpdate via getLatestAggregateMetrics(). Les DataTypes AGGREGATE_* ne sont plus acceptés.
  • Changement de nom : les événements PassiveMonitoring deviennent PassiveGoals. Ils permettent de fixer des objectifs et de recevoir des notifications dès que ces derniers sont atteints pour différents types de données tels que les métriques quotidiennes (par exemple, DAILY_STEPS).
  • Amélioration de la modélisation de la précision et de la disponibilité de la fréquence cardiaque et de la localisation grâce aux nouvelles classes HrAccuracy, LocationAccuracy et LocationAvailability.
  • Amélioration des noms pour ExerciseConfig, ajout de champs PassiveMonitoringConfig et introduction de ExerciseConfig.shouldEnableGps pour demander des données GPS.

Corrections de bugs

  • Migration vers une connexion IPC basée sur un fichier proto pour une meilleure compatibilité avec les versions antérieures.

Version 1.0.0-alpha01

18 mai 2021

Publication d'androidx.health:health-services-client:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Fonctionnalités de la version initiale

La bibliothèque Services Santé fournit un ensemble homogène d'API que les développeurs peuvent intégrer aux implémentations de capteurs propres à l'appareil. Elle sera prête à l'emploi avec les émulateurs Wear OS 3 et les prochains appareils, et d'autres plates-formes seront compatibles à l'avenir. Cette version initiale inclut trois surfaces d'API de niveau supérieur : ExerciseClient, PassiveMonitoringClient et MeasureClient.

ExerciseClient

ExerciseClient est conçu pour les applications de suivi d'activité physique. Il peut contenir jusqu'à 82 ExerciseTypes différents pour la marche, la course à pied, la danse, le water-polo, etc. Lors du suivi d'une activité physique, vous avez accès à une sélection de 50 DataTypes selon le type d'exercice et le matériel disponible sur l'appareil. Pour commencer, il vous suffit de renseigner les informations pertinentes dans votre ExerciseConfig, d'appeler exerciseClient.startExercise et d'écouter la progression sur l'écouteur de mise à jour.

PassiveMonitoringClient

PassiveMonitoringClient est un excellent choix pour les applications qui permettent de suivre l'activité de l'utilisateur tout au long de la journée. Vous pouvez enregistrer un PendingIntent avec un ensemble de DataTypes et activer l'application pour gérer des modifications par lot. Vous pouvez également spécifier un Event (comme un nombre de pas à atteindre).

MeasureClient

L'utilisateur peut avoir besoin d'effectuer une mesure (sa fréquence cardiaque, par exemple) de façon ponctuelle, et pas pendant un exercice ni tout au long de la journée. MeasureClient est la solution idéale dans ces cas de figure. Il vous suffit d'enregistrer votre rappel avec les DataTypes compatibles pour recevoir un flux de données quand vous en avez besoin, et d'annuler ensuite cet enregistrement.