Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como utilizar o HKSampleQuery no ambiente Apple

O HKSampleQuery é uma classe do HealthKit, um framework da Apple que permite aos desenvolvedores acessar e armazenar dados de saúde dos usuários em dispositivos iOS e watchOS. Neste artigo, vamos explorar como utilizar o HKSampleQuery para obter dados específicos do HealthKit.

Exemplos:

  1. Como obter os passos diários registrados no HealthKit:
let healthStore = HKHealthStore()

guard let stepCountType = HKObjectType.quantityType(forIdentifier: .stepCount) else {
    fatalError("Tipo de dado não suportado pelo HealthKit")
}

let query = HKSampleQuery(sampleType: stepCountType, predicate: nil, limit: HKObjectQueryNoLimit, sortDescriptors: nil) { (query, results, error) in
    guard let results = results as? [HKQuantitySample] else {
        fatalError("Falha ao obter os dados do HealthKit")
    }

    let totalSteps = results.reduce(0) { $0 + $1.quantity.doubleValue(for: HKUnit.count()) }
    print("Total de passos: \(totalSteps)")
}

healthStore.execute(query)
  1. Como obter a frequência cardíaca média registrada no HealthKit nos últimos 7 dias:
let healthStore = HKHealthStore()

guard let heartRateType = HKObjectType.quantityType(forIdentifier: .heartRate) else {
    fatalError("Tipo de dado não suportado pelo HealthKit")
}

let calendar = Calendar.current
let endDate = Date()
let startDate = calendar.date(byAdding: .day, value: -7, to: endDate)

let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: .strictStartDate)

let query = HKSampleQuery(sampleType: heartRateType, predicate: predicate, limit: HKObjectQueryNoLimit, sortDescriptors: nil) { (query, results, error) in
    guard let results = results as? [HKQuantitySample] else {
        fatalError("Falha ao obter os dados do HealthKit")
    }

    let totalHeartRate = results.reduce(0) { $0 + $1.quantity.doubleValue(for: HKUnit.count().unitDivided(by: HKUnit.minute())) }
    let averageHeartRate = totalHeartRate / Double(results.count)
    print("Frequência cardíaca média: \(averageHeartRate)")
}

healthStore.execute(query)

Caso o ambiente não seja apple, o HealthKit e o HKSampleQuery não estarão disponíveis. No entanto, existem alternativas viáveis em outros ambientes.

Em dispositivos Android, por exemplo, é possível utilizar o Google Fit API para acessar dados de saúde dos usuários. A API fornece classes e métodos semelhantes ao HealthKit, como o DataReadRequest para obter dados específicos, como passos ou frequência cardíaca.

Além disso, existem outras bibliotecas e frameworks disponíveis em diferentes ambientes que permitem o acesso a dados de saúde. É importante pesquisar e identificar a melhor alternativa para o ambiente específico em questão.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.