Salute
| Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
|---|---|---|---|---|
| 7 maggio 2025 | 1.0.0 | - | - | 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:
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha05" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha05") }
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.
Per ulteriori informazioni, consulta la documentazione del Tracker dei 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, utilizzaandroidx.health.connect:connect-client e le note di rilascio associate nella nostra paginaConnessione 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>inSet<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.SampleHeartRate->HeartRateRecord.SampleStepsCadence->StepsCadenceRecord.Sample
- La classe
HealthDataRequestPermissionè stata ritirata a favore diPermissionController.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 di potenze 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, tra cui (I3f936):
ActivityLaprinominato inExerciseLapRecordActivityEventrinominato inExerciseEventRecordRepetitionsrinominato inExerciseRepetitionsRecordActivitySessionrinominato inExerciseSessionRecord
- I metadati del pacchetto sono stati spostati all'interno dei record. (Ie0835)
- Unità di misura della lunghezza utilizzata in tutti i record rimanenti (Ib10dd):
ActivityLapRecordElevationGainedRecordHeightRecordHipCircumferenceRecordWaistCircumferenceRecord
- È stato aggiunto il tipo di unità di misura Lunghezza (Idae39)
- Aggiorna la terminologia della descrizione di
CervicalMucus(I25a2b):CervicalMucus.Amount->CervicalMucusRecord.TextureCervicalMucus.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
minifyEnabledtrue. (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
hasMetricegetMetricsono stati ritirati inAggregationResulte sono stati aggiunti gli operatori contiene e get (I7cc7c)- Aggiunge
OvulationTest.Result.HIGHeOvulationTest.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 ai dati sanitari concesse.
Health Services Client versione 1.1
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 il seguente argomento del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict(questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (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-clientalla 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
ExerciseEventsupportati. (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
ExerciseEventinsieme al primo evento concreto:GolfShotEvent. Le primitiveExerciseEventconsentono 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.0.0
7 maggio 2025
androidx.health:health-services-client:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
- Si tratta della promozione della versione 1.0.0-rc02 a release stabile di Health Services Client. Non sono state apportate modifiche rispetto alla versione 1.0.0-rc02.
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
DebouncedGoalche 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(initialDelayedurationAtThreshold). (I09be9) - È stato aggiunto il seguente esempio di metriche avanzate per la corsa e statistiche
DataTypes. (I0b8b5):Ground Contact TimeVertical OscillationVertical RatioStride Length
Modifiche all'API
ELEVATION_GAIN_DAILYaggiunto:DataType. (I059d1)- È stato aggiunto
SWIM_LAP_COUNT_TOTALDataTypecomeDataTypeaggregato perSWIM_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 la 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'utilizzo di
startExercisecontemporaneamente aprepareExercisepoteva causare unConcurrentModificationException(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
HealthServicesExceptionquando la funzione di sospensioneoverrideBatchingModesForActiveExercisenon riesce (Ifd387) - Sono state introdotte le funzioni di sospensione per l'API
overrideBatchingModesForActiveExerciseasincrona, rendendole più compatibili con Kotlin (I7dd15) BatchingModesostituisce facoltativo inExerciseConfig(Id22e9)
Correzioni di bug
- Piccole correzioni per
DataTypeeExerciseUpdate(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
suspendper le APIListenableFutureasincrone esistenti inExerciseClient,PassiveMonitoringClienteMeasureClientper un migliore supporto di Kotlin. (Iadea4) - È stata aggiunta l'API
ExerciseTypeConfigche consente gli aggiornamenti durante un esercizio in corso. È stato aggiuntoGolfExerciseTypeConfigper supportare l'aggiornamento diExerciseTypeConfigdurante gli esercizi di golf. (I4c539)
Modifiche all'API
- Viene generato un errore
HealthServicesExceptionnelle funzioni di sospensione (I5e509) - Aggiungi un altro costruttore per la compatibilità con le versioni precedenti (Iddeda)
- Lancia
RuntimeExceptionper 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
PassiveMonitoringClientcon il primo eventoHealthEvent.FALL_DETECTED.Nuovi tipi di esercizio:
ALPINE_SKIINGBACKPACKINGCROSS_COUNTRY_SKIINGHORSE_RIDINGINLINE_SKATINGMOUNTAIN_BIKINGORIENTEERINGROLLER_SKATINGYACHTING
Nuovi tipi di dati:
ELEVATION_LOSSGOLF_SHOT_COUNT
Modifiche all'API
- Aggiornamento della modalità di definizione del modello dei dati: il modello di dati e la modalità di rappresentazione di
DataType,DataPointe 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
DataPointposizione non sono più rappresentati comeDoubleArray, ma come oggettiLocationDatafortemente 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.
- La trasmissione è stata sostituita dal
- È 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
ExerciseStateper indicare che l'esercizio sta terminando / è terminato e sono stati aggiunti i nuovi statiENDINGeENDED. Ora vengono combinati conExerciseEndReasonper rappresentare l'intera gamma di stati precedenti. - Abbiamo rinominato
PassiveListenerConfigsetPassiveGoalsinsetDailyGoalsper riflettere meglio il fatto che supportiamo solo gli obiettivi passivi giornalieri. PassiveGoalora è sempreREPEATED,TriggerFrequencypassivo rimosso.- Sono stati annotati tutti i parametri
LongeDoublecon@FloatRange. - È stata aggiunta la proprietà
swimmingPoolLengthMetersaExerciseConfig, che può essere facoltativamente specificata per migliorare i calcoli della distanza per i bagni in piscina. ExerciseUpdate.activeDurationobsoleto. Utilizza inveceExerciseUpdate.activeDurationCheckpoint.- L'API
flushExerciseAsync()è stata rinominata influshAsync()inExerciseClient. Measure.registerCallbackè stato rinominato inMeasure.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 (
HrAccuracyora èHeartRateAccuracy). - Le proprietà che seguono il pattern
enableFooora si chiamanoisFooEnabled.
- Le proprietà di distanza ora hanno il suffisso
- È stata eseguita la migrazione da Enums.
- I tempi rappresentati da
Doubleora sono rappresentati daDuration. - Le funzioni che restituiscono un
ListenableFuture<Void?>ora restituiscono unListenableFuture<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 misurazione, ascoltatori di esercizi e 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
ExerciseClientora 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 tramitegetLatestAggregateMetrics(). I tipi di datiAGGREGATE_*non sono più supportati. - Gli eventi
PassiveMonitoringsono stati rinominati inPassiveGoals, 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
ExerciseConfige dei nuovi campiPassiveMonitoringConfige introduzione diExerciseConfig.shouldEnableGpsper 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
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 DataType diversi 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 l'avanzamento 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 MeasureClient supportati per ricevere uno stream di dati e annullare la registrazione del callback quando non è più necessario.DataType