Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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:
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)
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.