Saúde

  
Crie aplicativos de saúde de alto desempenho de maneira independente da plataforma.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
13 de dezembro de 2023 - 1.0.0-rc01 - 1.1.0-alpha02

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-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.1.0-alpha02")
}

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.

Criar novo problema

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 ser Set<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 de PermissionController.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 como ExerciseLapRecord.
    • O elemento ActivityEvent foi renomeado como ExerciseEventRecord.
    • O elemento Repetitions foi renomeado como ExerciseRepetitionsRecord.
    • O elemento ActivitySession foi renomeado como ExerciseSessionRecord.
  • 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 e getMetric foram descontinuados em AggregationResult e os operadores "contains" e "get" foram adicionados (I7cc7c).
  • OvulationTest.Result.HIGH e OvulationTest.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.

Cliente de Recursos de saúde: versão 1.1

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 ExerciseEvents 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

  • Foram adicionadas APIs ExerciseEvent com o primeiro evento concreto: GolfShotEvent. Os primitivos ExerciseEvent permitem que os desenvolvedores consultem o suporte e solicitem uma notificação quando o smartwatch detectar que algo ocorreu. O GolfShotEvent, por exemplo, permite que os desenvolvedores sejam notificados quando o usuário faz uma tacada de golfe, além de receber o tipo de tacada reconhecido.

Mudanças na API

  • Permitir que os clientes do SDK do WHS usem as funcionalidades do GolfShotEvent. (I76b03).

Correções de bugs

  • Em vez de gerar exceções sobre recursos desconhecidos de eventos de exercício, filtre-os da lista. (I06afc).

Cliente de Recursos de saúde versão 1.0

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

  • Os Recursos de saúde foram movidos para a versão 1.0.0-rc01 depois de se estabilizar na versão Beta.

Mudanças na API

  • Os arquivos de API públicos e experimentais para h- thru m-paths foram mesclados. (Ic4630, b/278769092).
  • N/A, as alterações no arquivo de 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 usando ExerciseConfig ou durante com um método de substituição Essa funcionalidade será ativada em uma próxima versão dos Recursos de saúde na Google Play Store e poderá ser verificada por meio de 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 HealthServicesException quando a função de suspensão overrideBatchingModesForActiveExercise falha (Ifd387).
  • Introdução de funções de suspensão para a API overrideBatchingModesForActiveExercise assíncrona, tornando-as mais compatíveis com Kotlin (I7dd15).
  • BatchingMode substitui opcional em ExerciseConfig (Id22e9).

Correções de bugs

  • Pequenas correções de DataType e ExerciseUpdate (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 APIs ListenableFuture assíncronas existentes em ExerciseClient, PassiveMonitoringClient e MeasureClient 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 de GolfExerciseTypeConfig para oferecer suporte à atualização de ExerciseTypeConfig 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 DataTypes, DataPoints 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 DataPoints de local não são mais representados como um DoubleArray, mas como um objeto LocationData 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.
  • 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 ExerciseStates para representar que o exercício está terminando / terminou e adicionou novos estados de exercício ENDING e ENDED. Agora, eles são combinados com ExerciseEndReason para representar toda a gama de estados anteriores.
  • O PassiveListenerConfig setPassiveGoals foi renomeado como setDailyGoals para refletir melhor o suporte para as metas passivas diárias.
  • PassiveGoals agora são sempre REPEATED, o passivo TriggerFrequency foi removido.
  • Todos os parâmetros Long e Double foram anotados com @FloatRange.
  • A propriedade swimmingPoolLengthMeters foi adicionada a ExerciseConfig, que pode ser especificada para calcular melhor a distância de braçadas em piscinas.
  • ExerciseUpdate.activeDuration foi descontinuada. Use ExerciseUpdate.activeDurationCheckpoint.
  • A API flushExerciseAsync() foi renomeada como flushAsync() no ExerciseClient.
  • O elemento Measure.registerCallback foi renomeado como Measure.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 de isFooEnabled.
  • Migração de tipos enumerados.
  • Os horários representados por Double agora são representados por Duration.
  • As funções que retornavam um ListenableFuture<Void?> agora retornam um ListenableFuture<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étodo getLatestAggregateMetrics(). Não há mais suporte para DataTypes AGGREGATE_*.
  • Os eventos PassiveMonitoring foram renomeados como PassiveGoals, 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 campos PassiveMonitoringConfig e introdução de ExerciseConfig.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 ExerciseTypes 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 DataTypes 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 DataTypes 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 DataTypes com suporte para receber um stream de dados e cancelar o callback quando ele não for mais necessário.