Salute

  
Creare applicazioni per la salute ad alte prestazioni in modo indipendente dalla piattaforma.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
11 dicembre 2024 - 1.0.0-rc02 - 1.1.0-alpha05

Dichiarazione delle dipendenze

Per aggiungere una dipendenza da Health, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi necessari nel file build.gradle per la tua app o il tuo modulo:

Alla moda

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

Kotlin

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

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.

Health Connect Client versione 1.0

Versione 1.0.0-alpha04

24 agosto 2022

A partire dalla versione 1.0.0-alpha04, è stata eseguita la migrazione di androidx.health:health-connect-client a androidx.health.connect:connect-client. Per le release future, utilizza androidx.health.connect:connect-client e le note di rilascio associate nella nostra pagina Connessione Salute.

Per eseguire la migrazione, modifica l'importazione delle dipendenze da androidx.health:health-connect-client:1.0.0-alpha03 a androidx.health.connect:connect-client:1.0.0-alpha04.

Versione 1.0.0-alpha03

27 luglio 2022

androidx.health:health-connect-client:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Riepilogo delle nuove modifiche all'API: è stato aggiunto un insieme di unità alle API di lettura, scrittura e aggregazione. Ora le app possono recuperare o scrivere record con l'unità di misura che preferiscono, ad esempio grammi o milligrammi per i nutrienti di NutritionRecord.

Modifiche all'API

  • Correggi List<DataOrigin> in Set<DataOrigin> in vari oggetti di risposta alla richiesta. (I42342)
  • Correggi l'unità delle calorie totali basali da Potenza->Energia. (I0b429)
  • Le classi di esempio delle serie sono state spostate all'interno dei record delle serie (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • La classe HealthDataRequestPermission è stata ritirata a favore di PermissionController.createRequestPermissionActivityContract. In questo modo, la visibilità e la parametrizzazione sono state migliorate. (I81e7f)
  • Sono state aggiunte once fluide americane al volume. (I5f03d)
  • È stato aggiunto il tipo di unità di misura della velocità (I1d574)
  • È stato aggiunto il tipo di unità percentuale (I08f23)
  • È stato aggiunto il tipo di unità di misura della pressione (Ifb01f)
  • Tipo di unità di massa aggiunta (Ifd81a)
  • È stato aggiunto il tipo di unità di volume (I59ad1)
  • È stato aggiunto il tipo di unità di misura della potenza. È stata spostata la classe di esempio della serie Potenza all'interno della classe PowerRecord. (I5b1e5)
  • È stato aggiunto il tipo di unità di misura dell'energia (I983ae)
  • È stato aggiunto il tipo di unità di temperatura (I4cdb5)
  • Rinomina i riferimenti di Attività in modo che siano specifici per l'allenamento, inclusi (I3f936):
    • ActivityLap rinominato in ExerciseLapRecord
    • ActivityEvent rinominato in ExerciseEventRecord
    • Repetitions rinominato in ExerciseRepetitionsRecord
    • ActivitySession rinominato in ExerciseSessionRecord
  • I metadati del pacchetto sono stati spostati all'interno dei record. (Ie0835)
  • Unità di misura della lunghezza utilizzata in tutti i record rimanenti (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • È stato aggiunto il tipo di unità di misura Lunghezza (Idae39)
  • Aggiornamento della terminologia della descrizione di CervicalMucus (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • È stato aggiunto il suffisso "Record" a tutti i nomi delle classi di record (I1ffc2)

Correzioni di bug

  • Risolvere i problemi di ProGuard quando la libreria è stata compilata con il flavor release e minifyEnabled true. (I78933)
  • Nasconde la documentazione non destinata all'uso pubblico. (I7a08f)
  • Risolve il problema nei client che potrebbero avere dipendenze protobuf proprie.(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)

Versione 1.0.0-alpha02

1° giugno 2022

androidx.health:health-connect-client:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche all'API

  • hasMetric e getMetric sono stati ritirati in AggregationResult e sono stati aggiunti gli operatori contiene e get (I7cc7c)
  • Aggiunge OvulationTest.Result.HIGH e OvulationTest.Result.INCONCLUSIVE. (I9f9c4)

Correzioni di bug

  • Riduci i requisiti dell'SDK a 26. (I6d201)

Versione 1.0.0-alpha01

11 maggio 2022

androidx.health:health-connect-client:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • API per la lettura dei record di fitness e salute condivisi da altre app.
  • API per scrivere record di fitness e salute da condividere con altre app.
  • API per recuperare le metriche aggregate per i record accessibili.
  • API per recuperare le modifiche incrementali (inserimento, aggiornamento o eliminazione) dei record da parte di altre app.
  • API per richiedere agli utenti le autorizzazioni per la salute.
  • API per verificare la presenza di autorizzazioni o revocare le autorizzazioni di accesso alla salute concesse.

Versione 1.1 del client Health Services

Versione 1.1.0-alpha05

11 dicembre 2024

androidx.health:health-services-client:1.1.0-alpha05, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05 e androidx.health:health-services-client-proto:1.1.0-alpha05 vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Nuove funzionalità

  • Ora include regole ProGuard per evitare l'eliminazione di classi necessarie. (65d0c3f)

Correzioni di bug

  • Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per applicare l'utilizzo corretto: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Iaf73a, b/326456246)

Versione 1.1.0-alpha04

16 ottobre 2024

androidx.health:health-services-client:1.1.0-alpha04, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04 e androidx.health:health-services-client-proto:1.1.0-alpha04 vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Correzioni relative alla sicurezza

  • A partire da questa modifica, androidx viene compilato in base a protobuf 4.28.2 per risolvere il problema CVE-2024-7254. Esegui l'upgrade della dipendenza da androidx.health:health-services-client alla versione 1.1.0-alpha04 più recente per risolvere il rischio di vulnerabilità.

Versione 1.1.0-alpha02

13 dicembre 2023

androidx.health:health-services-client:1.1.0-alpha02 viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche all'API

  • Utilizza un'unica fonte attendibile per i ExerciseEvent supportati. (I03308)

Correzioni di bug

  • Correzioni di bug minori e miglioramenti alla documentazione.

Versione 1.1.0-alpha01

9 agosto 2023

androidx.health:health-services-client:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Sono state aggiunte le API ExerciseEvent insieme al primo evento concreto: GolfShotEvent. Le primitive ExerciseEvent consentono agli sviluppatori di eseguire query sull'assistenza e di richiedere di ricevere una notifica quando lo smartwatch rileva che si è verificato un evento. GolfShotEvent, ad esempio, consente agli sviluppatori di ricevere una notifica quando l'utente esegue un colpo di golf, oltre a ricevere il tipo di swing riconosciuto.

Modifiche all'API

  • Consenti ai client SDK WHS di utilizzare le funzionalità GolfShotEvent. (I76b03)

Correzioni di bug

  • Anziché generare in modo aggressivo eccezioni quando vengono rilevate funzionalità di eventi di allenamento sconosciute, filtrale dall'elenco. (I06afc)

Health Services Client versione 1.0

Versione 1.1.0-alpha03

14 maggio 2024

androidx.health:health-services-client:1.1.0-alpha03 viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Sono state introdotte le API DebouncedGoal che consentono di monitorare un obiettivo per il tipo di dati di esempio o il tipo di dati di esempio delle statistiche durante l'allenamento con le funzionalità di debouncing(initialDelay e durationAtThreshold). (I09be9)
  • È stato aggiunto il seguente esempio di metriche avanzate per la corsa e statistiche DataTypes. (I0b8b5):
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

Modifiche all'API

  • ELEVATION_GAIN_DAILY DataType aggiunto. (I059d1)
  • È stato aggiunto SWIM_LAP_COUNT_TOTAL DataType come DataType aggregato per SWIM_LAP_COUNT. (I0beeb)

Correzioni di bug

  • Sono stati corretti vari problemi per migliorare l'affidabilità dell'IPC.

Versione 1.0.0-rc02

3 aprile 2024

androidx.health:health-services-client:1.0.0-rc02 viene rilasciato. La versione 1.0.0-rc02 contiene questi commit. Questa è una release solo per correzione di bug e non contiene modifiche all'API.

Correzioni di bug

  • Sono stati corretti vari problemi per migliorare l'affidabilità dell'IPC
  • È stato risolto un problema per cui l'uso di startExercise contemporaneamente a prepareExercise poteva causare un ConcurrentModificationException (4e37773)
  • Documentazione migliorata

Versione 1.0.0-rc01

26 luglio 2023

androidx.health:health-services-client:1.0.0-rc01 viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Nuove funzionalità

  • I servizi sanitari sono passati alla versione 1.0.0-rc01 dopo essersi stabilizzati in versione beta.

Modifiche all'API

  • File API pubblici ed sperimentali uniti per i percorsi da h a m. (Ic4630, b/278769092)
  • N/A, le modifiche ai file dell'API sono solo metodi di ordinamento. (I5fa95)

Versione 1.0.0-beta03

5 aprile 2023

androidx.health:health-services-client:1.0.0-beta03 viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.

Nuove funzionalità

Ora BatchingMode può essere configurato per inviare i dati degli esercizi raggruppati nell'intervallo configurato anziché in quello predefinito durante un esercizio attivo, all'inizio dell'esercizio tramite ExerciseConfig o durante l'esercizio con un metodo di override. Il supporto di questa funzionalità verrà attivato in una prossima release di Servizi sanitari nel Google Play Store e potrà essere controllato tramite le funzionalità di allenamento. Nota: le modalità di raggruppamento vengono applicate quando il dispositivo è in uno stato di alimentazione non interattivo e causano un aumento del consumo energetico.

Modifiche all'API

  • Viene generato un errore HealthServicesException quando la funzione di sospensione overrideBatchingModesForActiveExercise non riesce (Ifd387)
  • Sono state introdotte funzioni di sospensione per l'API overrideBatchingModesForActiveExercise asincrona, rendendole più compatibili con Kotlin (I7dd15)
  • BatchingMode sostituisce facoltativo in ExerciseConfig (Id22e9)

Correzioni di bug

  • Piccole correzioni per DataType e ExerciseUpdate (5e185f)

Versione 1.0.0-beta02

11 gennaio 2023

androidx.health:health-services-client:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Nuove funzionalità

  • Sono state aggiunte funzioni di estensione suspend per le API ListenableFuture asincrone esistenti in ExerciseClient, PassiveMonitoringClient e MeasureClient per un migliore supporto di Kotlin. (Iadea4)
  • È stata aggiunta l'API ExerciseTypeConfig che consente gli aggiornamenti durante un esercizio in corso. È stato aggiunto GolfExerciseTypeConfig per supportare l'aggiornamento di ExerciseTypeConfig durante gli esercizi di golf. (I4c539)

Modifiche all'API

  • Viene generato un errore HealthServicesException nelle funzioni di sospensione (I5e509)
  • Aggiungi un altro costruttore per la compatibilità con le versioni precedenti (Iddeda)
  • Lancia RuntimeException per le funzioni di sospensione (I53bca)
  • Rimuovi l'implementazione predefinita dell'eccezione che genera (Id947f)
  • Aggiunta di un'annotazione @JvmDefaultWithCompatibility (I8f206)

Correzioni di bug

  • Aggiungi alla kdoc per maggiore chiarezza (Ide285)
  • Consenti il monitoraggio passivo per gli obiettivi solo se vengono monitorati anche gli stessi tipi di dati (Ibed8d)

Versione 1.0.0-beta01

24 ottobre 2022

androidx.health:health-services-client:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta la possibilità di ascoltare gli eventi di integrità tramite PassiveMonitoringClient con il primo evento HealthEvent.FALL_DETECTED.

  • Nuovi tipi di esercizio:

    • ALPINE_SKIING
    • BACKPACKING
    • CROSS_COUNTRY_SKIING
    • HORSE_RIDING
    • INLINE_SKATING
    • MOUNTAIN_BIKING
    • ORIENTEERING
    • ROLLER_SKATING
    • YACHTING
  • Nuovi tipi di dati:

    • ELEVATION_LOSS
    • GOLF_SHOT_COUNT

Modifiche all'API

  • Aggiornamento del modo in cui i dati vengono modellati: il modello di dati e la modalità di rappresentazione di DataType, DataPoint e dei relativi valori sottostanti sono stati rivisti. L'impatto di primo livello è che le API ora sono molto più esplicite e sicure dal punto di vista del tipo.
  • I DataPoint posizione non sono più rappresentati come DoubleArray, ma come oggetti LocationData fortemente tipizzati.
  • È stata eseguita la migrazione a un nuovo insieme di API di ascoltatori passivi:
    • La trasmissione è stata sostituita dal PassiveListenerService.
    • Gli ascoltatori esistenti sono stati sostituiti da un singolo ascoltatore: PassiveListenerCallback.
  • È stato aggiunto il tag <queries> al manifest di Health Services in modo che le applicazioni non debbano più specificarlo nel proprio manifest (a condizione che l'unione dei manifest sia attivata nel sistema di compilazione).
  • È stato eliminato l'uso di molti ExerciseState per indicare che l'esercizio sta terminando / è terminato e sono stati aggiunti i nuovi stati ENDING e ENDED. Ora vengono combinati con ExerciseEndReason per rappresentare l'intera gamma di stati precedenti.
  • Abbiamo rinominato PassiveListenerConfig setPassiveGoals in setDailyGoals per riflettere meglio il fatto che supportiamo solo gli obiettivi passivi giornalieri.
  • PassiveGoal ora è sempre REPEATED, TriggerFrequency passivo rimosso.
  • Sono stati annotati tutti i parametri Long e Double con @FloatRange.
  • È stata aggiunta la proprietà swimmingPoolLengthMeters a ExerciseConfig, che può essere facoltativamente specificata per migliorare i calcoli della distanza per i bagni in piscina.
  • ExerciseUpdate.activeDuration obsoleto. Utilizza invece ExerciseUpdate.activeDurationCheckpoint.
  • L'API flushExerciseAsync() è stata rinominata in flushAsync() in ExerciseClient.
  • Measure.registerCallback è stato rinominato in Measure.registerMeasureCallback.
  • Modifiche generali ai nomi:
    • Le proprietà di distanza ora hanno il suffisso meters.
    • I nomi dei metodi di callback ora sono al passato.
    • La maggior parte delle abbreviazioni è stata rimossa (HrAccuracy ora è HeartRateAccuracy).
    • Le proprietà che seguono il pattern enableFoo ora si chiamano isFooEnabled.
  • È stata eseguita la migrazione da Enums.
  • I tempi rappresentati da Double ora sono rappresentati da Duration.
  • Le funzioni che restituiscono un ListenableFuture<Void?> ora restituiscono un ListenableFuture<Void>.
  • Le funzioni che accettano un callback ora mostrano sempre il callback come ultimo parametro.
  • Ora le classi con i builder hanno sempre anche costruttori pubblici.
  • Le funzioni di registrazione non restituiscono più un ListenableFuture, ma passano lo stato di registrazione al callback fornito.
  • KDocs è stato migliorato.
  • I corsi pubblici non estendono più ProtoParcelable.

Correzioni di bug

  • Miglioramenti generali all'affidabilità dell'IPC (I3b1e2)

Versione 1.0.0-alpha03

3 novembre 2021

androidx.health:health-services-client:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • L'SDK registrerà automaticamente di nuovo le richieste di registrazione di callback per la misurazione, l'ascoltatore di esercizi e il monitoraggio passivo nel caso in cui la connessione IPC con l'APK Health Services venga interrotta.

Modifiche all'API

  • La versione minSdk della libreria SDK è stata aggiornata al livello API 30 poiché il client Health Services è attualmente supportato solo su Wear3.

Versione 1.0.0-alpha02

29 settembre 2021

androidx.health:health-services-client:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche all'API

  • ExerciseClient ora supporta la preparazione di un esercizio. In questo modo i client possono riscaldare i sensori e attendere, ad esempio, un fix GPS prima di iniziare l'allenamento.
  • Vengono introdotte le classi AggregateDataPoint CumulativeDataPoints e StatisticalDataPoints per modellare meglio le metriche aggregate monitorate durante un allenamento attivo. CumulativeDataPoints contiene i valori cumulativi dei tipi di dati intervallari aggregati (ad esempio la distanza totale durante l'allenamento), mentre StatisticalDataPoints modella gli aggregati dei punti dati campionati (ad esempio HeartRateBpm minimo, massimo e medio). Questo sostituisce i tipi di dati AGGREGATE_* precedenti e può essere accessibile in ExerciseUpdate tramite getLatestAggregateMetrics(). I tipi di dati AGGREGATE_* non sono più supportati.
  • Gli eventi PassiveMonitoring sono stati rinominati in PassiveGoals, che supporta l'impostazione di obiettivi e la ricezione di notifiche quando questi obiettivi vengono raggiunti per tipi di dati come le metriche giornaliere (ad es. DAILY_STEPS).
  • Miglioramento della definizione della precisione e della disponibilità della frequenza cardiaca e della posizione tramite l'introduzione delle nuove classi HrAccuracy, LocationAccuracy e LocationAvailability.
  • Miglioramento della denominazione dei campi ExerciseConfig e dei nuovi campi PassiveMonitoringConfig e introduzione di ExerciseConfig.shouldEnableGps per richiedere dati basati su GPS

Correzioni di bug

  • Esegue la migrazione al trasporto IPC basato su proto per un migliore supporto della compatibilità con le versioni precedenti

Versione 1.0.0-alpha01

18 maggio 2021

androidx.health:health-services-client:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Funzionalità della versione iniziale

La libreria Health Services fornisce un insieme uniforme di API che gli sviluppatori possono integrare con le implementazioni dei sensori specifiche del dispositivo. Funziona immediatamente con gli emulatori Wear OS 3 e i dispositivi futuri, con piattaforme aggiuntive supportate in futuro. Questa release iniziale include tre piattaforme API di primo livello: ExerciseClient, PassiveMonitoringClient e MeasureClient.

ExerciseClient

Il ExerciseClient è progettato per le applicazioni che monitorano gli allenamenti attivi, con fino a 82 diversi ExerciseType, dalla camminata alla corsa, dalla danza al nuoto. Durante il rilevamento di questi esercizi, è disponibile una selezione di 50 diversi DataType a seconda del tipo di esercizio e dell'hardware disponibile sul dispositivo. Per iniziare, specifica le informazioni pertinenti in ExerciseConfig, chiama exerciseClient.startExercise e ascolta i progressi nell'ascoltatore di aggiornamenti.

PassiveMonitoringClient

PassiveMonitoringClient è un'ottima scelta se la tua applicazione monitora l'attività dell'utente durante la giornata. Puoi registrare un PendingIntent con un insieme di DataType e ricevere una notifica per gestire le modifiche collettive. In alternativa, puoi specificare un Event, ad esempio il raggiungimento di un determinato numero di passaggi.

MeasureClient

A volte l'utente deve misurare, ad esempio, il battito cardiaco al momento, non durante un allenamento e non nel corso della giornata. In questi casi, MeasureClient è la scelta perfetta.Devi solo registrare il tuo callback con i DataType supportati per ricevere uno stream di dati e annullare la registrazione del callback quando non è più necessario.