Salute
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.
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>
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.Sample
HeartRate
->HeartRateRecord.Sample
StepsCadence
->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 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 inExerciseLapRecord
ActivityEvent
rinominato inExerciseEventRecord
Repetitions
rinominato inExerciseRepetitionsRecord
ActivitySession
rinominato 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):
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
egetMetric
sono stati ritirati inAggregationResult
e sono stati aggiunti gli operatori contiene e get (I7cc7c)- Aggiunge
OvulationTest.Result.HIGH
eOvulationTest.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 primitiveExerciseEvent
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
edurationAtThreshold
). (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
comeDataType
aggregato 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 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 aprepareExercise
poteva 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
HealthServicesException
quando la funzione di sospensioneoverrideBatchingModesForActiveExercise
non riesce (Ifd387) - Sono state introdotte funzioni di sospensione per l'API
overrideBatchingModesForActiveExercise
asincrona, rendendole più compatibili con Kotlin (I7dd15) BatchingMode
sostituisce facoltativo inExerciseConfig
(Id22e9)
Correzioni di bug
- Piccole correzioni per
DataType
eExerciseUpdate
(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 APIListenableFuture
asincrone esistenti inExerciseClient
,PassiveMonitoringClient
eMeasureClient
per un migliore supporto di Kotlin. (Iadea4) - È stata aggiunta l'API
ExerciseTypeConfig
che consente gli aggiornamenti durante un esercizio in corso. È stato aggiuntoGolfExerciseTypeConfig
per supportare l'aggiornamento diExerciseTypeConfig
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 eventoHealthEvent.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 comeDoubleArray
, ma come oggettiLocationData
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
.
- 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
ExerciseState
per indicare che l'esercizio sta terminando / è terminato e sono stati aggiunti i nuovi statiENDING
eENDED
. Ora vengono combinati conExerciseEndReason
per rappresentare l'intera gamma di stati precedenti. - Abbiamo rinominato
PassiveListenerConfig
setPassiveGoals
insetDailyGoals
per riflettere meglio il fatto che supportiamo solo gli obiettivi passivi giornalieri. PassiveGoal
ora è sempreREPEATED
,TriggerFrequency
passivo rimosso.- Sono stati annotati tutti i parametri
Long
eDouble
con@FloatRange
. - È stata aggiunta la proprietà
swimmingPoolLengthMeters
aExerciseConfig
, che può essere facoltativamente specificata per migliorare i calcoli della distanza per i bagni in piscina. ExerciseUpdate.activeDuration
obsoleto. 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 (
HrAccuracy
ora èHeartRateAccuracy
). - Le proprietà che seguono il pattern
enableFoo
ora si chiamanoisFooEnabled
.
- Le proprietà di distanza ora hanno il suffisso
- È stata eseguita la migrazione da Enums.
- I tempi rappresentati da
Double
ora 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 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 tramitegetLatestAggregateMetrics()
. I tipi di datiAGGREGATE_*
non sono più supportati. - Gli eventi
PassiveMonitoring
sono 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
ExerciseConfig
e dei nuovi campiPassiveMonitoringConfig
e introduzione diExerciseConfig.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.