Connessione Salute archivia e struttura i dati relativi a salute e attività fisica. Inoltre, tiene conto di come vengono misurati i diversi tipi di dati. Questi tipi di dati includono le misurazioni della frequenza cardiaca effettuate immediatamente, il conteggio dei passi effettuato nel tempo e i dati sul sonno raccolti in sessioni.
È importante innanzitutto comprendere quali tipi di dati e autorizzazioni offre Connessione Salute per poter pianificare i requisiti della tua app. Pertanto, devi rivedere 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. Connessione Salute mira a offrire una visualizzazione e un archivio completi dei dati relativi a salute e attività fisica. Questi tipi di dati rientrano nelle seguenti categorie:
- Attività:acquisisce qualsiasi attività svolta da un utente. Può includere attività di salute e fitness come corsa e nuoto.
- Misurazione del corpo:acquisisce dati comuni relativi al corpo, ad esempio il peso di un utente e il suo metabolismo basale.
- Monitoraggio del ciclo:registra i cicli mestruali e i punti dati correlati, 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 che un utente consuma in una singola bevuta. Questi ultimi includono campi facoltativi come calorie, zucchero e magnesio.
- Sonno:acquisisce i dati degli intervalli relativi alla durata e al tipo di sonno di un utente.
- Segni vitali: acquisisce informazioni essenziali sulla salute generale dell'utente. Include dati come temperatura corporea, glicemia, pressione sanguigna e saturazione di ossigeno nel sangue.
Formato del tipo di dati
I tipi di dati in Connessione Salute vengono memorizzati in oggetti che sono sottoclassi di
Record
.
Per ogni tipo di dati, esistono campi associati generici, come
time
e zoneOffset
, o specifici, come title
, count
e percentage
.
Alcuni campi utilizzano tipi semplici, come long, double o string, mentre altri utilizzano 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 limitati 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 di dati viene assegnato un identificatore univoco (UID) al momento della creazione. Questa funzionalità è utile per le operazioni di lettura e scrittura standard. Per ulteriori dettagli, vedi ID Connessione Salute.
- Ora dell'ultima modifica:questo timestamp indica l'ultima volta che un record è stato aggiornato. 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, il cui valore deve essere fornito manualmente.
- ID client:Health Connect fornisce ID client in modo che le app client possano fare riferimento ai dati utilizzando i propri ID, il che aiuta a risolvere i conflitti e semplifica la sincronizzazione. Questo valore viene fornito manualmente al record.
- Versione del record client:insieme all'ID client, Connessione Salute fornisce il controllo delle versioni per facilitare il monitoraggio delle modifiche durante la sincronizzazione dei dati. Queste informazioni vengono fornite manualmente al record.
- Metodo di registrazione:Connessione Salute ti consente di capire come vengono registrati i dati. Questi metodi includono app che registrano i dati passivamente (automaticamente) e utenti che registrano i dati attivamente o manualmente.
ID Connessione Salute
Connessione Salute assegna identificatori univoci (UID) agli oggetti dati appena inseriti, che identificano gli oggetti dati 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 ID client, mentre Connessione Salute assegna esclusivamente ID Connessione Salute.
Tieni presente le seguenti note quando utilizzi gli ID Connessione Salute:
- Le sessioni hanno un unico 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 l'archiviazione 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 appena registrata.
Tempo in Connessione Salute
Tutti i dati scritti in Connessione Salute devono specificare le informazioni sull'offset del fuso orario. La specifica dell'offset della zona consente alle app di leggere i dati per rappresentarli in ora civile. L'ora civile è l'ora locale e pertinente per l'utente, ma non necessariamente in UTC (Coordinated Universal Time).
In rari casi, l'offset della zona potrebbe non essere disponibile. Quando si verifica in Android 14 (livello API 34), Connessione Salute imposta l'offset del fuso orario in base al fuso orario predefinito del sistema del dispositivo. In Android 13 e versioni precedenti (livello API 33 e precedenti), è possibile scrivere in Connessione Salute senza specificare informazioni sull'offset del fuso orario, il che deve essere evitato il più possibile.
Impostazione di ora e zona
La specifica delle informazioni sull'offset del fuso orario durante la scrittura dei dati fornisce informazioni sul fuso orario durante la lettura dei dati in Connessione Salute. Tuttavia, potrebbe non riuscirci in determinate situazioni, ad esempio quando non viene fornito l'offset del fuso orario. La tua app deve essere preparata per gestire entrambi i tipi di dati, in modo sensato per le tue circostanze specifiche.
Autorizzazioni
Prima di richiedere qualsiasi autorizzazione, la tua app deve dichiararle nel manifest. Consulta le tabelle seguenti per il mapping completo dei tipi di dati e delle relative autorizzazioni.
Per la versione 1.0.0-alpha10 e successive
Riferimento autorizzazioni | Leggi la dichiarazione delle autorizzazioni |
---|---|
Operazioni di lettura in background |
android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
|
Letture della cronologia |
android.permission.health.READ_HEALTH_DATA_HISTORY
|
Tipo di classe di record | Dichiarazione delle autorizzazioni di lettura e scrittura |
---|---|
ActiveCaloriesBurned |
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 |
BloodGlucose |
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 |
BodyFat |
android.permission.health.READ_BODY_FAT android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
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.READ_EXERCISE_ROUTE android.permission.health.WRITE_EXERCISE android.permission.health.WRITE_EXERCISE_ROUTE Tipo di esercizioEXERCISE_TYPE_BIKING EXERCISE_TYPE_BIKING_HAND EXERCISE_TYPE_BIKING_MOUNTAIN EXERCISE_TYPE_BIKING_ROAD EXERCISE_TYPE_BIKING_SPINNING EXERCISE_TYPE_BIKING_STATIONARY EXERCISE_TYPE_BIKING_UTURN EXERCISE_TYPE_CANOEING EXERCISE_TYPE_CROSSFIT EXERCISE_TYPE_DANCING EXERCISE_TYPE_ELLIPTICAL EXERCISE_TYPE_GOLF EXERCISE_TYPE_HORSEBACK_RIDING EXERCISE_TYPE_KAYAKING EXERCISE_TYPE_KICKBOXING EXERCISE_TYPE_MARTIAL_ARTS EXERCISE_TYPE_PILATES EXERCISE_TYPE_ROLLERBLADING EXERCISE_TYPE_RUNNING EXERCISE_TYPE_RUNNING_JOGGING EXERCISE_TYPE_RUNNING_SAND |
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 |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS android.permission.health.WRITE_LEAN_BODY_MASS |
Flusso mestruale |
android.permission.health.READ_MENSTRUATION android.permission.health.WRITE_MENSTRUATION |
MindfulnessSession |
android.permission.health.READ_MINDFULNESS android.permission.health.WRITE_MINDFULNESS |
Alimentazione |
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 |
PlannedExerciseSession |
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 |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY android.permission.health.WRITE_SEXUAL_ACTIVITY |
SkinTemperature |
android.permission.health.READ_SKIN_TEMPERATURE android.permission.health.WRITE_SKIN_TEMPERATURE |
SleepSession |
android.permission.health.READ_SLEEP android.permission.health.WRITE_SLEEP |
Velocità |
android.permission.health.READ_SPEED android.permission.health.WRITE_SPEED |
Passi |
android.permission.health.READ_STEPS android.permission.health.WRITE_STEPS |
StepsCadence |
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 |
Spinte in sedia a rotelle |
android.permission.health.READ_WHEELCHAIR_PUSHES android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Per la versione 1.0.0-alpha09 e precedenti
Tipo di classe di record | Dichiarazione delle autorizzazioni di lettura e scrittura |
---|---|
ActiveCaloriesBurned |
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 |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ androidx.health.permission.BodyWaterMass.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.Exercise.READ androidx.health.permission.Exercise.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 Tipo di esercizioEXERCISE_TYPE_BIKING EXERCISE_TYPE_BIKING_HAND EXERCISE_TYPE_BIKING_MOUNTAIN EXERCISE_TYPE_BIKING_ROAD EXERCISE_TYPE_BIKING_SPINNING EXERCISE_TYPE_BIKING_STATIONARY EXERCISE_TYPE_BIKING_UTURN EXERCISE_TYPE_CANOEING EXERCISE_TYPE_CROSSFIT EXERCISE_TYPE_DANCING EXERCISE_TYPE_ELLIPTICAL EXERCISE_TYPE_GOLF EXERCISE_TYPE_HORSEBACK_RIDING EXERCISE_TYPE_KAYAKING EXERCISE_TYPE_KICKBOXING EXERCISE_TYPE_MARTIAL_ARTS EXERCISE_TYPE_PILATES EXERCISE_TYPE_ROLLERBLADING EXERCISE_TYPE_RUNNING EXERCISE_TYPE_RUNNING_JOGGING EXERCISE_TYPE_RUNNING_SAND |
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.HeartRateVariability.READ androidx.health.permission.HeartRateVariability.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 |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ androidx.health.permission.LeanBodyMass.WRITE |
Flusso mestruale |
androidx.health.permission.Menstruation.READ androidx.health.permission.Menstruation.WRITE |
Alimentazione |
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 |
PlannedExerciseSession |
androidx.health.permission.PlannedExerciseSession.READ androidx.health.permission.PlannedExerciseSession.WRITE |
Alimentazione |
androidx.health.permission.Power.READ androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
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 |
Passi |
androidx.health.permission.Steps.READ androidx.health.permission.Steps.WRITE |
StepsCadence |
androidx.health.permission.Steps.READ androidx.health.permission.Steps.WRITE |
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.Weight.READ androidx.health.permission.Weight.WRITE |
Spinte in sedia a rotelle |
androidx.health.permission.WheelchairPushes.READ androidx.health.permission.WheelchairPushes.WRITE |
Rivedere 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 l'elenco dei tipi di dati e delle autorizzazioni richieste dalla tua 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, gli utenti potrebbero visualizzare 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.