Connessione Salute archivia e struttura i dati relativi a salute e attività fisica. Tiene conto anche della modalità di misurazione dei diversi tipi di dati. Questi tipi di dati includono misurazioni della frequenza cardiaca acquisite immediatamente, numero di passi rilevato nel tempo e dati sul sonno acquisiti nelle sessioni.
È importante comprendere innanzitutto quali tipi di dati e autorizzazioni offre Connessione Salute per poter pianificare i requisiti della tua app. Pertanto, devi esaminare i tipi di dati prima di poter finalizzare i requisiti.
Categorie di tipi di dati
Connessione Salute supporta i tipi di dati utilizzati nella maggior parte delle app per la salute e l'attività fisica per offrire la massima varietà possibile. L'obiettivo di Connessione Salute è offrire una visualizzazione e uno spazio di archiviazione completi dei dati relativi a salute e attività fisica. Questi tipi di dati rientrano nelle seguenti categorie:
- Attività:vengono registrate tutte le attività svolte da un utente. Può includere attività legate alla salute e al fitness come corsa e nuoto.
- Misurazione del corpo: vengono acquisiti dati comuni relativi al corpo, ad esempio il peso e il tasso metabolico basale di un utente.
- Monitoraggio del ciclo:vengono acquisiti i cicli mestruali e i relativi punti dati, come il risultato binario di un test di ovulazione.
- Alimentazione:acquisisce i tipi di dati relativi a idratazione e alimentazione. Il primo rappresenta la quantità di acqua consumata da un utente in un'unica bevanda. Quest'ultimo include campi facoltativi come calorie, zucchero e magnesio.
- Sonno:vengono acquisiti i dati intervallari relativi alla durata e al tipo di sonno di un utente.
- Parametri vitali:vengono acquisite informazioni essenziali sulla salute generale dell'utente. Sono inclusi dati quali temperatura corporea, glicemia, pressione sanguigna e saturazione di ossigeno nel sangue.
Formato del tipo di dati
I tipi di dati in Connessione Salute vengono archiviati in oggetti che sono sottoclassi di
Record
.
Per ogni tipo di dati sono associati campi generici come time
e zoneOffset
o specifici come title
, count
e percentage
.
Alcuni campi utilizzano tipi semplici, come long, double o string, mentre altri tipi complessi come enumerazioni e classi come Instant
e ZoneOffset
. Gli attributi di questi campi possono essere obbligatori o facoltativi. Alcuni attributi sono di sola lettura e altri sono vincolati a un
intervallo specifico di valori.
Per l'elenco completo dei tipi di dati disponibili e dei relativi campi, consulta le classi in Jetpack.
Attributi dei dati aggiuntivi
I dati nell'API Connessione Salute includono anche gli attributi dei metadati descritti nel seguente elenco:
- ID Connessione Salute:a ogni punto dati viene assegnato un identificatore univoco (UID) al momento della creazione. Questa operazione è utile per le operazioni di lettura e scrittura standard. Per ulteriori dettagli, consulta ID Connessione Salute.
- Data di ultima modifica:indica il timestamp dell'ultima istanza di un record con un aggiornamento. Viene generato automaticamente alla prima creazione del record o a ogni aggiornamento.
- Origine dati: Connessione Salute memorizza le informazioni sull'app da cui provengono i dati. Contiene il nome del pacchetto dell'origine, che viene aggiunto automaticamente al momento della creazione.
- Dispositivo:Connessione Salute memorizza le informazioni sul dispositivo da cui provengono i dati. Contiene il produttore e il modello del dispositivo, di cui fornisci manualmente il valore.
- ID client:Health Connect fornisce ID client in modo che le app client possano fare riferimento ai dati utilizzando i propri ID, il che facilita la risoluzione dei conflitti e semplifica la sincronizzazione. Viene fornito manualmente al record.
- Versione del record del client: insieme all'ID client, Connessione Salute fornisce il controllo delle versioni per facilitare il monitoraggio delle modifiche durante la sincronizzazione dei dati. Viene fornito manualmente al record.
- Metodo di registrazione:Connessione Salute ti consente di capire in che modo vengono registrati i dati. Questi metodi includono le app che registrano i dati in modo passivo (automatico) e gli utenti che registrano i dati attivamente o manualmente.
ID Connessione Salute
Connessione Salute assegna identificatori univoci (UID) agli oggetti dati appena inseriti, che li identificano e li distinguono dagli altri. Gli ID Connessione Salute sono utili nelle richieste di lettura o scrittura. Gli ID Connessione Salute non sono identici agli ID cliente. Un'app client assegna gli ID client, mentre Connessione Salute assegna esclusivamente gli ID Connessione Salute.
Tieni presente le seguenti note quando lavori con gli ID Connessione Salute:
- Le sessioni hanno un singolo ID Connessione Salute, ma i dati all'interno delle sessioni hanno i propri ID Connessione Salute.
- Gli ID Connessione Salute non sono collegati o correlati ai timestamp.
- Alcuni casi d'uso potrebbero richiedere la memorizzazione di un ID Connessione Salute specifico durante un flusso di lavoro. Ad esempio, è necessario un ID specifico per recuperare e mostrare a un utente la voce di dati che ha appena registrato.
Tempo in Connessione Salute
Tutti i dati scritti in Connessione Salute devono specificare le informazioni sull'offset di zona. La specifica dell'offset di zona consente alle app di leggere i dati per rappresentarli in tempo civile. L'ora civile è l'ora locale e pertinente per l'utente, ma non necessariamente in UTC (Tempo Coordinato Universale).
In rari casi, l'offset zona potrebbe non essere disponibile. In questi casi, su Android 14 (livello API 34), Connessione Salute imposta il fuso orario in base al fuso orario predefinito del sistema del dispositivo. In Android 13 e versioni precedenti (livello API 33 e versioni precedenti), è possibile scrivere in Connessione Salute senza specificare informazioni sull'offset di zona, che devono essere evitate ove possibile.
Impostazione di ora e fuso orario
La specifica delle informazioni sull'offset di zona durante la scrittura dei dati fornisce informazioni sul fuso orario quando si leggono i dati in Connessione Salute. Tuttavia, potrebbe non riuscirci in determinate situazioni, ad esempio quando non viene fornito l'offset zonale. L'app deve essere preparata a gestire entrambi i tipi di dati in modo coerente con le tue circostanze specifiche.
Autorizzazioni
Prima di richiedere autorizzazioni, la tua app deve prima dichiararle nel file manifest. Consulta le seguenti tabelle per la mappatura completa dei tipi di dati e delle relative autorizzazioni.
Per 1.0.0-alpha10 e versioni successive
Tipo di classe di record | Dichiarazione delle autorizzazioni di lettura e scrittura |
---|---|
Calorie bruciate attive |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
GlucosioSangue |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
GrassoCorporeo |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
TemperaturaCorporea |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
MassaAcquaCorpo |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distanza |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Altezza |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Idratazione |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
MassaCorporeaMagra |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Nutrizione |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
PlannedExercise |
android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE |
Alimentazione |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
Battito cardiaco a riposo |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
Attività sessuale |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SkinTemperature |
androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Velocità |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Passi |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
VO2max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
Peso |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Per 1.0.0-alpha09 e versioni precedenti
Tipo di classe di record | Dichiarazione delle autorizzazioni di lettura e scrittura |
---|---|
Calorie bruciate attive |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
GlucosioSangue |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
GrassoCorporeo |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
TemperaturaCorpo |
androidx.health.permission.TemperaturaCorpo.READ
androidx.health.permission.TemperaturaCorpo.WRITE |
MassaAcquaCorpo |
androidx.health.permission.MassaAcquaCorpo.READ
androidx.health.permission.MassaAcquaCorpo.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distanza |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Altezza |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Idratazione |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
MassaCorporeaMagra |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Nutrizione |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Alimentazione |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
Battito cardiaco a riposo |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
Attività sessuale |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Velocità |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Passi |
androidx.health.permission.Passaggi.LETTURA
androidx.health.permission.Passaggi.SCRITTURA |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
VO2max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Peso |
androidx.health.permission.Peso.LETTURA
androidx.health.permission.Peso.SCRITTURA |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
Rivedi i tipi di dati e le autorizzazioni
Ora che hai pianificato i tipi di dati e le autorizzazioni, puoi implementarli durante lo sviluppo.
Quando esamini la tua app prima di caricarla sul Play Store, controlla attentamente l'elenco dei tipi di dati e delle autorizzazioni richiesti dall'app. In questo modo puoi dichiarare con precisione l'utilizzo dei dati della tua app.
Quando ti prepari a pubblicare la tua app sul Play Store, dichiara l'accesso ai tipi di dati di Connessione Salute utilizzati dalla tua app. In caso contrario, agli utenti potrebbe essere mostrato un messaggio di errore che indica che la tua app non può accedere ai tipi di dati di Connessione Salute perché richiedono un'approvazione speciale.