Saúde
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
11 de dezembro de 2024 | - | 1.0.0-rc02 | - | 1.1.0-alpha05 |
Declarar dependências
Para adicionar uma dependência da Health, é preciso adicionar o repositório Maven do Google ao seu projeto. Consulte Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle
para seu
app ou módulo:
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha03" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha03") }
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Cliente da Conexão Saúde: versão 1.0
Versão 1.0.0-alpha04
24 de agosto de 2022
A partir da versão 1.0.0-alpha04, androidx.health:health-connect-client
foi migrado para
androidx.health.connect:connect-client
. Para versões futuras, use o
androidx.health.connect:connect-client
e as notas da versão associadas na nossa
página Conexão Saúde.
Para migrar, basta mudar a importação da dependência de
androidx.health:health-connect-client:1.0.0-alpha03
para
androidx.health.connect:connect-client:1.0.0-alpha04
.
Versão 1.0.0-alpha03
27 de julho de 2022
Lançamento de androidx.health:health-connect-client:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
- Resumo das novas mudanças na API: um conjunto de unidades foi adicionado às APIs agregadas e de leitura e gravação. Os apps agora podem extrair ou gravar registros com a unidade que preferirem, como gramas ou miligramas para nutrientes do
NutritionRecord
.
Mudanças na API
List<DataOrigin>
foi corrigido para serSet<DataOrigin>
em vários objetos de resposta de solicitação (I42342).- A unidade do total de calorias basais de Power->Energy foi corrigida (I0b429).
- As classes de exemplo de séries foram movidas para os registros de série (Ica9bb):
CyclingPedalingCadence
->CyclingPedalingCadenceRecord.Sample
HeartRate
->HeartRateRecord.Sample
StepsCadence
->StepsCadenceRecord.Sample
- A classe
HealthDataRequestPermission
foi descontinuada em favor dePermissionController.createRequestPermissionActivityContract
. Isso melhora a possibilidade de descoberta e parametrização unificada (I81e7f). - A unidade de onças líquidas dos EUA foi adicionada a Volume (I5f03d).
- O tipo de unidade Velocidade foi adicionado (I1d574).
- O tipo de unidade Porcentagem foi adicionado (I08f23).
- O tipo de unidade Pressão foi adicionado (Ifb01f).
- O tipo de unidade Massa foi adicionado (Ifd81a).
- O tipo de unidade Volume foi adicionado (I59ad1).
- O tipo de unidade Potência foi adicionado. A classe de exemplo de séries de Potência foi movida para a classe
PowerRecord
(I5b1e5). - O tipo de unidade Energia foi adicionado (I983ae).
- O tipo de unidade Temperatura foi adicionado (I4cdb5).
- As referências de Atividade foram renomeadas para serem específicas por Exercício, incluindo (I3f936):
- O elemento
ActivityLap
foi renomeado comoExerciseLapRecord
. - O elemento
ActivityEvent
foi renomeado comoExerciseEventRecord
. - O elemento
Repetitions
foi renomeado comoExerciseRepetitionsRecord
. - O elemento
ActivitySession
foi renomeado comoExerciseSessionRecord
.
- O elemento
- Os metadados de pacotes foram aninhados em registros (Ie0835).
- A unidade Comprimento foi usada em todos os registros restantes (Ib10dd):
ActivityLapRecord
ElevationGainedRecord
HeightRecord
HipCircumferenceRecord
WaistCircumferenceRecord
- O tipo de unidade Comprimento foi adicionado (Idae39).
- A terminologia de descrição de
CervicalMucus
foi atualizada (I25a2b):CervicalMucus.Amount
->CervicalMucusRecord.Texture
CervicalMucus.Appearance
->CervicalMucusRecord.Sensation
- O sufixo "Record" foi adicionado a todos os nomes de classe de registro (I1ffc2).
Correções de bugs
- Foram corrigidos problemas do ProGuard em que lib é criado com uma variação de lançamento e
minifyEnabled
está marcado como verdadeiro (I78933). - A documentação não destinada ao uso público foi ocultada (I7a08f).
- O problema de clientes que podem ter as próprias dependências protobuf foi corrigido (https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430).
Versão 1.0.0-alpha02
1º de junho de 2022
Lançamento de androidx.health:health-connect-client:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Mudanças na API
- Os métodos
hasMetric
egetMetric
foram descontinuados emAggregationResult
e os operadores "contains" e "get" foram adicionados (I7cc7c). OvulationTest.Result.HIGH
eOvulationTest.Result.INCONCLUSIVE
foram adicionados (I9f9c4).
Correções de bugs
- Redução dos requisitos do SDK para 26 (I6d201).
Versão 1.0.0-alpha01
11 de maio de 2022
Lançamento de androidx.health:health-connect-client:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
- API para ler registros de saúde e de condicionamento físico compartilhados por outros apps.
- API para gravar registros de saúde e condicionamento físico para compartilhar com outros apps.
- API para recuperar métricas agregadas de registros acessíveis.
- API para recuperar mudanças incrementais (inserir, atualizar ou excluir) de registros por outros apps.
- API para solicitar permissões de saúde aos usuários.
- API para verificar permissões ou revogar permissões concedidas de saúde.
Health Services Client: versão 1.1
Versão 1.1.0-alpha05
11 de dezembro de 2024
Lançamento de androidx.health:health-services-client:1.1.0-alpha05
, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05
e androidx.health:health-services-client-proto:1.1.0-alpha05
. A versão 1.1.0-alpha05 contém estas confirmações.
Novos recursos
- Agora inclui regras do ProGuard para evitar que as classes necessárias sejam removidas. (65d0c3f).
Correções de bugs
- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(Iaf73a, b/326456246).
Versão 1.1.0-alpha04
16 de outubro de 2024
Lançamento de androidx.health:health-services-client:1.1.0-alpha04
, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04
e androidx.health:health-services-client-proto:1.1.0-alpha04
. A versão 1.1.0-alpha04 contém estas confirmações.
Correções de segurança
- A partir dessa mudança, o androidx é compilado com o protobuf 4.28.2 para resolver o CVE-2024-7254. Faça upgrade da dependência de
androidx.health:health-services-client
para a versão 1.1.0-alpha04 mais recente para resolver o risco de vulnerabilidade.
Versão 1.1.0-alpha02
13 de dezembro de 2023
Lançamento de androidx.health:health-services-client:1.1.0-alpha02
. A versão 1.1.0-alpha02 contém estas confirmações.
Mudanças na API
- Use uma única fonte de verdade para
ExerciseEvent
s com suporte. (I03308).
Correções de bugs
- Pequenas correções de bugs e melhorias na documentação.
Versão 1.1.0-alpha01
9 de agosto de 2023
Lançamento de androidx.health:health-services-client:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- As APIs
ExerciseEvent
foram adicionadas ao primeiro evento concreto:GolfShotEvent
. As primitivasExerciseEvent
permitem que os desenvolvedores consultem o suporte e solicitem notificações quando o relógio detectar que algo ocorreu.GolfShotEvent
, por exemplo, permite que os desenvolvedores sejam notificados quando o usuário dá uma tacada de golfe, além de receber o tipo de swing reconhecido.
Mudanças na API
- Permitir que os clientes do SDK do WHS usem as funcionalidades
GolfShotEvent
. (I76b03).
Correções de bugs
- Em vez de gerar exceções agressivas ao encontrar recursos de evento de exercício desconhecidos, filtre-os da lista. (I06afc).
Cliente de Recursos de saúde versão 1.0
Versão 1.1.0-alpha03
14 de maio de 2024
Lançamento de androidx.health:health-services-client:1.1.0-alpha03
. A versão 1.1.0-alpha03 contém estas confirmações.
Novos recursos
- Foram introduzidas APIs
DebouncedGoal
que permitem acompanhar uma meta para o tipo de dados de amostra ou o tipo de dados de estatísticas de amostra durante o exercício com recursos de debouncing(initialDelay
edurationAtThreshold
). (I09be9) - Adicionamos o seguinte exemplo de métricas em execução avançadas e
DataTypes
estatística. (I0b8b5):Ground Contact Time
Vertical Oscillation
Vertical Ratio
Stride Length
Mudanças na API
ELEVATION_GAIN_DAILY
DataType
adicionado. (I059d1).- Adição de
DataType
SWIM_LAP_COUNT_TOTAL
comoDataType
agregado paraSWIM_LAP_COUNT
. (I0beeb).
Correções de bugs
- Vários problemas foram corrigidos para melhorar a confiabilidade do IPC.
Versão 1.0.0-rc02
3 de abril de 2024
Lançamento de androidx.health:health-services-client:1.0.0-rc02
. A versão 1.0.0-rc02 contém estas confirmações. Esta é uma versão apenas de correção de bugs e não contém mudanças de API.
Correções de bugs
- Vários problemas foram corrigidos para melhorar a confiabilidade do IPC.
- Correção de um problema em que chamar
startExercise
ao mesmo tempo queprepareExercise
podia levar a umConcurrentModificationException
(4e37773). - Documentação aprimorada
Versão 1.0.0-rc01
26 de julho de 2023
Lançamento de androidx.health:health-services-client:1.0.0-rc01
. A versão 1.1.0-rc01 contém estas confirmações.
Novos recursos
- O Health Services foi movido para a versão 1.0.0-rc01 após a estabilização na versão Beta.
Mudanças na API
- Os arquivos de API públicos e experimentais foram mesclados para caminhos de h a m. (Ic4630, b/278769092).
- N/A, as mudanças no arquivo da API são apenas métodos de reordenação. (I5fa95).
Versão 1.0.0-beta03
5 de abril de 2023
Lançamento de androidx.health:health-services-client:1.0.0-beta03
. A versão 1.0.0-beta03 contém estas confirmações.
Novos recursos
Agora, o BatchingMode
pode ser configurado para enviar dados de exercícios em lote no intervalo configurado em vez do padrão durante um exercício ativo, seja no início do exercício por ExerciseConfig
ou durante com um método de substituição. O suporte a isso será ativado por uma versão futura dos Serviços de saúde na Google Play Store e poderá ser verificado nas funcionalidades de exercício. Observação: os modos de lote entram em vigor enquanto o dispositivo está em um estado de energia não interativo e aumentam o consumo de energia.
Mudanças na API
- Geração de uma
HealthServicesException
quando a função de suspensãooverrideBatchingModesForActiveExercise
falha (Ifd387). - Introdução de funções de suspensão para a API
overrideBatchingModesForActiveExercise
assíncrona, tornando-as mais compatíveis com o Kotlin (I7dd15). BatchingMode
substitui o opcional emExerciseConfig
(Id22e9).
Correções de bugs
- Pequenas correções em
DataType
eExerciseUpdate
(5e185f).
Versão 1.0.0-beta02
11 de janeiro de 2023
Lançamento de androidx.health:health-services-client:1.0.0-beta02
. A versão 1.0.0-beta02 contém estas confirmações.
Novos recursos
- Adição de funções de extensão
suspend
para as APIsListenableFuture
assíncronas existentes emExerciseClient
,PassiveMonitoringClient
eMeasureClient
com o objetivo de melhorar o suporte para o Kotlin (Iadea4). - Adição da API
ExerciseTypeConfig
, que permite atualizações durante um exercício. Adição deGolfExerciseTypeConfig
para oferecer suporte à atualização deExerciseTypeConfig
durante exercícios de golfe (I4c539).
Mudanças na API
- Geração de uma
HealthServicesException
em funções de suspensão (I5e509). - Adição de outro construtor para compatibilidade com versões anteriores (Iddeda).
- Geração de uma
RuntimeException
em funções de suspensão (I53bca). - A implementação padrão para gerar exceções foi removida (Id947f).
- A anotação
@JvmDefaultWithCompatibility
foi adicionada (I8f206).
Correções de bugs
- Adição de kdoc para maior clareza (Ide285).
- O rastreamento de monitoramento passivo só vai ser permitido para metas se os mesmos tipos de dados também forem rastreados (Ibed8d).
Versão 1.0.0-beta01
24 de outubro de 2022
Lançamento de androidx.health:health-services-client:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Novos recursos
Foi adicionada a capacidade de detectar eventos de saúde usando
PassiveMonitoringClient
, com o primeiro evento sendo:HealthEvent.FALL_DETECTED
.Novos ExerciseTypes:
ALPINE_SKIING
BACKPACKING
CROSS_COUNTRY_SKIING
HORSE_RIDING
INLINE_SKATING
MOUNTAIN_BIKING
ORIENTEERING
ROLLER_SKATING
YACHTING
Novos DataTypes:
ELEVATION_LOSS
GOLF_SHOT_COUNT
Mudanças na API
- Atualização da modelagem dos dados: reformulação do modelo de dados e de como
DataType
s,DataPoint
s e os valores subjacentes deles são representados. O impacto de nível mais alto é que as APIs agora são muito mais explícitas e têm segurança de tipo. - Os
DataPoint
s de local não são mais representados como umDoubleArray
, mas como um objetoLocationData
altamente tipado. - Mudança para um novo conjunto de APIs de listener passivo:
- A transmissão foi substituída pelo
PassiveListenerService
. - Os listeners atuais foram substituídos por um único:
PassiveListenerCallback
.
- A transmissão foi substituída pelo
- Foi adicionada a tag
<queries>
ao manifesto dos Recursos de saúde para que os aplicativos não precisem mais especificar isso no próprio manifesto. Isso é possível desde que a fusão do manifesto esteja ativada no sistema de compilação. - Mudança de muitos
ExerciseState
s para representar que o exercício está terminando / terminou e adicionou novos estados de exercícioENDING
eENDED
. Agora, eles são combinados comExerciseEndReason
para representar toda a gama de estados anteriores. - O
PassiveListenerConfig
setPassiveGoals
foi renomeado comosetDailyGoals
para refletir melhor o suporte para as metas passivas diárias. PassiveGoal
s agora são sempreREPEATED
, o passivoTriggerFrequency
foi removido.- Todos os parâmetros
Long
eDouble
foram anotados com@FloatRange
. - A propriedade
swimmingPoolLengthMeters
foi adicionada aExerciseConfig
, que pode ser especificada para calcular melhor a distância de braçadas em piscinas. ExerciseUpdate.activeDuration
foi descontinuada. UseExerciseUpdate.activeDurationCheckpoint
.- A API
flushExerciseAsync()
foi renomeada comoflushAsync()
noExerciseClient
. - O elemento
Measure.registerCallback
foi renomeado comoMeasure.registerMeasureCallback
. - Mudanças gerais de nomenclatura:
- As propriedades de distância agora têm o sufixo
meters
. - Os nomes de métodos de callback agora estão no passado.
- A maioria das abreviações foi removida:
HrAccuracy
agora éHeartRateAccuracy
. - As propriedades que seguem o padrão
enableFoo
agora são chamadas deisFooEnabled
.
- As propriedades de distância agora têm o sufixo
- Migração de tipos enumerados.
- Os horários representados por
Double
agora são representados porDuration
. - As funções que retornavam um
ListenableFuture<Void?>
agora retornam umListenableFuture<Void>
. - Agora, as funções que aceitam um callback sempre têm o callback que aparece como último parâmetro.
- As classes com builders agora sempre têm construtores públicos.
- As funções de registro não retornam mais um
ListenableFuture
e, em vez disso, transmitem o status de registro para o callback fornecido. - Melhorias no KDocs.
- As classes públicas não estendem mais o
ProtoParcelable
.
Correções de bugs
- Melhorias gerais na confiabilidade da IPC (I3b1e2).
Versão 1.0.0-alpha03
3 novembro de 2021
Lançamento de androidx.health:health-services-client:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
- O SDK vai registrar novamente os pedidos de registro de callbacks para monitoramento passivo, listener de exercício e medidas caso a conexão IPC seja interrompida com o APK dos Recursos de saúde.
Mudanças na API
- A minSdkVersion da biblioteca do SDK mudou para a API de nível 30, já que o cliente dos Recursos de saúde só tem suporte no Wear3.
Versão 1.0.0-alpha02
29 de setembro de 2021
Lançamento de androidx.health:health-services-client:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Mudanças na API
- Agora,
ExerciseClient
oferece suporte para a preparação de um exercício. Isso permite que os clientes aqueçam os sensores e aguardem a conclusão de processos como a correção do ponto GPS antes de começarem o exercício. - As classes CumulativeDataPoints, StatisticalDataPoints e AggregateDataPoint foram introduzidas para melhor modelar as métricas agregadas que são monitoradas durante um exercício ativo. A classe CumulativeDataPoints armazena valores cumulativos de tipos de dados de intervalo agregados, como distância total percorrida durante o exercício, ao passo que o modelo de StatisticalDataPoints agrega pontos de dados de amostragem, como HeartRateBpm mínimo, máximo e médio. Isso substitui os DataTypes
AGGREGATE_*
anteriores e pode ser acessado na ExerciseUpdate usando o métodogetLatestAggregateMetrics()
. Não há mais suporte para DataTypesAGGREGATE_*
. - Os eventos
PassiveMonitoring
foram renomeados comoPassiveGoals
, permitindo definir metas e receber notificações quando elas forem cumpridas para alguns tipos dados, como métricas do tipo "Daily" (diárias) (por exemplo, DAILY_STEPS). - A modelagem de precisão e disponibilidade da frequência cardíaca e da localização foi melhorada usando as novas classes HrAccuracy, LocationAccuracy e LocationAvailability.
- Melhoria nos nomes de
ExerciseConfig
, novos camposPassiveMonitoringConfig
e introdução deExerciseConfig.shouldEnableGps
para solicitar dados de GPS.
Correções de bugs
- Migração para o transporte IPC apoiado por proto para oferecer melhor suporte à compatibilidade com versões anteriores.
Versão 1.0.0-alpha01
18 de maio de 2021
Lançamento de androidx.health:health-services-client:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Recursos da versão inicial
A biblioteca Health Services oferece um conjunto uniforme de APIs para que os desenvolvedores se integrem a implementações de sensores específicos do dispositivo. Ela pode ser usada imediatamente com emuladores do Wear OS 3 e dispositivos futuros. Outras plataformas vão receber suporte no futuro. Três superfícies da API de nível superior estão incluídas nesta versão inicial: ExerciseClient
, PassiveMonitoringClient
e MeasureClient
.
ExerciseClient
O ExerciseClient
foi feito para aplicativos que monitoram treinos ativos com até 82 ExerciseType
s diferentes, desde treinos de caminhada e corrida até dança e polo aquático. Ao monitorar esses exercícios, há uma seleção de 50 DataType
s disponíveis, dependendo do tipo de exercício e do hardware disponível no dispositivo. Para começar, especifique as informações relevantes em ExerciseConfig
, chame exerciseClient.startExercise
e detecte o progresso no listener de atualização.
PassiveMonitoringClient
O PassiveMonitoringClient
é uma ótima escolha se o aplicativo monitorar a atividade do usuário ao longo do dia. É possível registrar um PendingIntent
com um conjunto de DataType
s para ser ativado e processar mudanças em lote. Como alternativa, especifique um Event
, como alcançar um determinado número de passos.
MeasureClient
Às vezes, o usuário precisa medir a frequência cardíaca em um determinado momento, não durante um exercício ou ao longo do dia. Nesses momentos, o MeasureClient
é a escolha perfeita. Basta registrar um callback com os DataType
s com suporte para receber um stream de dados e cancelar o callback quando ele não for mais necessário.