Ce guide est compatible avec la version 1.1.0-alpha12 de Santé Connect.
Des modifications ont été apportées aux métadonnées dans Santé Connect pour les développeurs qui choisissent de passer à la version 1.1.0-alpha12.
Informations sur la bibliothèque
L'ID d'artefact du plug-in Google Maven Android Gradle identifie la bibliothèque Santé Connect à laquelle vous devrez effectuer la mise à niveau.
Ajoutez cette dépendance du SDK Santé Connect à votre fichier build.gradle
au niveau du module:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
Modifications des métadonnées
Deux modifications de métadonnées ont été apportées au SDK Santé Connect Jetpack à partir de la version 1.1.0-alpha12 pour s'assurer que des métadonnées utiles supplémentaires existent dans l'écosystème.
Vous devez spécifier les détails des métadonnées chaque fois qu'un objet de type Record()
est instancié.
Vous devez spécifier l'une des quatre méthodes d'enregistrement lorsque vous écrivez des données dans Santé Connect:
Méthode d'enregistrement | Description |
---|---|
RECORDING_METHOD_UNKNOWN |
Impossible de valider la méthode d'enregistrement. |
RECORDING_METHOD_MANUAL_ENTRY |
L'utilisateur a saisi les données. |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
Un appareil ou un capteur a enregistré les données. |
RECORDING_METHOD_ACTIVELY_RECORDED |
L'utilisateur a lancé le début ou la fin de la session d'enregistrement sur un appareil. |
Exemple :
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
Vous devez spécifier un type d'appareil pour toutes les données enregistrées automatiquement et activement. Les types d'appareils actuels incluent les suivants:
Type d'appareil | Description |
---|---|
TYPE_UNKNOWN |
Le type d'appareil est inconnu. |
TYPE_WATCH |
Le type d'appareil est une montre. |
TYPE_PHONE |
Le type d'appareil est un téléphone. |
TYPE_SCALE |
Le type d'appareil est une balance. |
TYPE_RING |
Le type d'appareil est une bague. |
TYPE_HEAD_MOUNTED |
Le type d'appareil est un appareil porté sur la tête. |
TYPE_FITNESS_BAND |
Le type d'appareil est une montre connectée. |
TYPE_CHEST_STRAP |
Le type d'appareil est une ceinture pectorale. |
TYPE_SMART_DISPLAY |
Le type d'appareil est un écran connecté. |
Exemple :
private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)
Extraits mis à jour
Les guides Santé Connect ont été mis à jour partout où de nouveaux extraits sont nécessaires pour respecter les nouvelles exigences concernant les métadonnées. Pour obtenir des exemples, consultez la page Écrire des données.
Nouvelles méthodes de métadonnées
Les métadonnées ne peuvent plus être instanciées directement. Utilisez donc l'une des méthodes de l'usine pour obtenir une nouvelle instance de métadonnées. Chaque fonction comporte trois variantes de signature:
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
Pour en savoir plus, consultez le projet Android Open Source.
Données de test
Utilisez la bibliothèque de test pour simuler les valeurs de métadonnées attendues:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
Cela simule le comportement de l'implémentation de Santé Connect, qui renseigne automatiquement ces valeurs lors de l'insertion d'un enregistrement.
Pour la bibliothèque de test, vous devez ajouter cette dépendance du SDK Santé Connect à votre fichier build.gradle
au niveau du module:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
Mettre à niveau la bibliothèque
Voici les principales étapes à suivre:
Mettez à niveau votre bibliothèque vers la version 1.1.0-alpha12.
Lors de la création de la bibliothèque, des erreurs de compilation sont générées lorsque de nouvelles métadonnées sont nécessaires. Veillez donc à implémenter les modifications de métadonnées nécessaires chaque fois qu'un objet de type
Record()
est instancié. La migration devrait être terminée.