Questa guida è compatibile con la versione 1.1.0-alpha12 di Connessione Salute.
Sono state apportate modifiche ai metadati in Connessione Salute per gli sviluppatori che scelgono di eseguire l'upgrade alla release 1.1.0-alpha12.
Informazioni sulla libreria
L'ID elemento del plug-in Android Gradle di Google Maven
identifica la libreria Connessione Salute a cui dovrai eseguire l'upgrade.
Aggiungi questa dipendenza dall'SDK Health Connect al file build.gradle
a livello di modulo:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
Modifiche ai metadati
Nell'SDK Jetpack di Connessione Salute sono state introdotte due modifiche ai metadati a partire dalla versione 1.1.0-alpha12 per garantire che nell'ecosistema esistano metadati utili aggiuntivi.
Devi specificare i dettagli dei metadati ogni volta che viene creato un oggetto di tipo Record()
.
Quando scrivi i dati in Connessione Salute, devi specificare uno dei quattro metodi di registrazione:
Metodo di registrazione | Descrizione |
---|---|
RECORDING_METHOD_UNKNOWN |
Non è possibile verificare il metodo di registrazione. |
RECORDING_METHOD_MANUAL_ENTRY |
L'utente ha inserito i dati. |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
I dati sono stati registrati da un dispositivo o un sensore. |
RECORDING_METHOD_ACTIVELY_RECORDED |
L'utente ha avviato l'inizio o la fine della sessione di registrazione su un dispositivo. |
Ad esempio:
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
Devi specificare un tipo di dispositivo per tutti i dati registrati automaticamente e attivamente. I tipi di dispositivi attuali includono:
Tipo di dispositivo | Descrizione |
---|---|
TYPE_UNKNOWN |
Il tipo di dispositivo è sconosciuto. |
TYPE_WATCH |
Il tipo di dispositivo è uno smartwatch. |
TYPE_PHONE |
Il tipo di dispositivo è uno smartphone. |
TYPE_SCALE |
Il tipo di dispositivo è una bilancia. |
TYPE_RING |
Il tipo di dispositivo è un anello. |
TYPE_HEAD_MOUNTED |
Il tipo di dispositivo è un dispositivo indossabile. |
TYPE_FITNESS_BAND |
Il tipo di dispositivo è una fascia per il fitness. |
TYPE_CHEST_STRAP |
Il tipo di dispositivo è una fascia toracica. |
TYPE_SMART_DISPLAY |
Il tipo di dispositivo è uno smart display. |
Ad esempio:
private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)
Snippet aggiornati
Le guide di Connessione Salute sono state aggiornate ovunque siano necessari nuovi snippet per rispettare i nuovi requisiti dei metadati. Per alcuni esempi, consulta la pagina Scrivere dati.
Nuovi metodi per i metadati
I metadati non possono più essere direttamente istanziati, quindi utilizza uno dei metodi di fabbrica per ottenere una nuova istanza di metadati. Ogni funzione ha tre varianti di firma:
activelyRecorded
fun activelyRecorded(device: Device): Metadata.
fun activelyRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun activelyRecordedWithId(id: String, device: Device): Metadata
autoRecorded
fun autoRecorded(device: Device): Metadata
fun autoRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun autoRecordedWithId(id: String, device: Device): Metadata
manualEntry
fun manualEntry(device: Device? = null): Metadata
fun manualEntry(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun manualEntryWithId(id: String, device: Device? = null): Metadata
unknownRecordingMethod
fun unknownRecordingMethod(device: Device? = null): Metadata
fun unknownRecordingMethod(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun unknownRecordingMethodWithId(id: String, device: Device? = null): Metadata
Per ulteriori informazioni, consulta il progetto Android Open Source.
Dati di test
Utilizza la Testing Library per simulare i valori dei metadati previsti:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
Questo simula il comportamento dell'implementazione di Health Connect, che compila automaticamente questi valori durante l'inserimento dei record.
Per la libreria di test, devi aggiungere questa dipendenza dall'SDK Health Connect al
build.gradle
file a livello di modulo:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
Esegui l'upgrade della libreria
I passaggi principali da eseguire sono:
Esegui l'upgrade della libreria alla versione 1.1.0-alpha12.
Durante la compilazione della libreria, verranno generati errori di compilazione se sono necessari nuovi metadati, quindi assicurati di implementare le modifiche necessarie ai metadati ogni volta che viene creato un oggetto di tipo
Record()
. La migrazione dovrebbe essere completata.