Este guia é compatível com a versão 1.1.0-alpha12 do Health Connect.
Há mudanças nos metadados do Conexão Saúde para desenvolvedores que optarem por fazer upgrade para a versão 1.1.0-alpha12.
Informações da biblioteca
O ID do artefato do plug-in do Gradle para Android do Google Maven
identifica a biblioteca Conexão Saúde que você precisa atualizar.
Adicione essa dependência do SDK do Conexão Saúde ao arquivo
build.gradle
do módulo:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
Mudanças em metadados
Duas mudanças de metadados foram introduzidas no SDK do Jetpack da Conexão Saúde a partir da versão 1.1.0-alpha12 para garantir que outros metadados úteis existam no ecossistema.
É necessário especificar os detalhes dos metadados sempre que
um objeto do tipo Record()
for instanciado.
É necessário especificar um dos quatro métodos de gravação ao gravar dados na Conexão Saúde:
Método de gravação | Descrição |
---|---|
RECORDING_METHOD_UNKNOWN |
Não é possível verificar o método de gravação. |
RECORDING_METHOD_MANUAL_ENTRY |
O usuário inseriu os dados. |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
Um dispositivo ou sensor registrou os dados. |
RECORDING_METHOD_ACTIVELY_RECORDED |
O usuário iniciou o início ou o fim da sessão de gravação em um dispositivo. |
Exemplo:
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
É necessário especificar um tipo de dispositivo para todos os dados gravados automaticamente e ativamente. Os tipos de dispositivos atuais incluem:
Tipo de dispositivo | Descrição |
---|---|
TYPE_UNKNOWN |
O tipo de dispositivo é desconhecido. |
TYPE_WATCH |
O tipo de dispositivo é um relógio. |
TYPE_PHONE |
O tipo de dispositivo é um smartphone. |
TYPE_SCALE |
O tipo de dispositivo é uma balança. |
TYPE_RING |
O tipo de dispositivo é um anel. |
TYPE_HEAD_MOUNTED |
O tipo de dispositivo é um dispositivo montado na cabeça. |
TYPE_FITNESS_BAND |
O tipo de dispositivo é uma pulseira fitness. |
TYPE_CHEST_STRAP |
O tipo de dispositivo é uma faixa peitoral. |
TYPE_SMART_DISPLAY |
O tipo de dispositivo é um smart display. |
Exemplo:
private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)
Snippets atualizados
Os guias da Conexão Saúde foram atualizados sempre que novos snippets são necessários para obedecer aos novos requisitos de metadados. Para conferir alguns exemplos, consulte a página Gravar dados.
Novos métodos de metadados
Os metadados não podem mais ser instanciados diretamente. Use um dos métodos de fábrica para receber uma nova instância de metadados. Cada função tem três variantes de assinatura:
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
Para mais informações, consulte o Projeto de código aberto do Android.
Como testar dados
Use a biblioteca de testes para simular os valores de metadados esperados:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
Isso simula o comportamento da implementação do Conexão Saúde, que preenche esses valores automaticamente durante a inserção de registros.
Para a biblioteca de testes, adicione esta dependência do SDK do Conexão Saúde ao
arquivo build.gradle
no nível do módulo:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
Fazer upgrade da biblioteca
As principais etapas que você precisa realizar são:
Faça upgrade da biblioteca para a versão 1.1.0-alpha12.
Ao criar a biblioteca, erros de compilação serão gerados quando novos metadados forem necessários. Portanto, implemente as mudanças de metadados necessárias sempre que um objeto do tipo
Record()
for instanciado. Isso deve concluir a migração.