Fitur Kesehatan memberikan dukungan untuk ExerciseEvents
yang memberi tahu aplikasi Anda saat suatu peristiwa terjadi selama latihan dan menyediakan metadata terkait.
Menambahkan dependensi
Penggunaan peristiwa latihan memerlukan versi terbaru SDK Fitur Kesehatan.
Untuk menambahkan dependensi di Fitur Kesehatan, Anda harus menambahkan repositori Maven Google ke project Anda. Untuk mengetahui informasi selengkapnya, lihat Repositori Maven Google.
Kemudian, di file build.gradle
tingkat modul, tambahkan dependensi berikut:
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha03" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha03") }
Memeriksa kemampuan
Seperti semua jenis data dan latihan di Fitur Kesehatan, periksa kemampuan saat
memulai. Khususnya
untuk ExerciseEvents
, selain meminta ExerciseCapabilities
,
gunakan ExerciseTypeCapabilities.supportedExerciseEvents
untuk memverifikasi peristiwa latihan yang didukung untuk latihan tertentu.
Setelah mengonfirmasi bahwa ExerciseEvent
tertentu didukung,
Anda juga harus mengajukan kueri kemampuan peristiwa latihan menggunakan
getExerciseEventCapabilityDetails
.
Contoh berikut menunjukkan cara mengajukan kueri kemampuan untuk mengonfirmasi bahwa GOLF_SHOT_EVENT
didukung, lalu mengonfirmasi bahwa GOLF_SHOT_EVENT
mendukung Klasifikasi Jenis Ayunan.
fun handleCapabilities(capabilities: ExerciseCapabilities) {
val golfCapabilities = capabilities.typeToCapabilities[ExerciseType.GOLF]
val golfShotEventSupported =
golfCapabilities
?.supportedExerciseEvents
?.contains(ExerciseEventType.GOLF_SHOT_EVENT)
val golfSwingTypeClassificationSupported =
golfCapabilities
?.getExerciseEventCapabilityDetails(ExerciseEventType.GOLF_SHOT_EVENT)
?.isSwingTypeClassificationSupported ?: false
}
Meminta peristiwa latihan dalam sebuah latihan
Untuk memulai latihan dan meminta peristiwa latihan sebagai bagian dari latihan,
deklarasikan ExerciseConfig
untuk latihan tersebut
dan tambahkan kolom untuk exerciseEventType
.
Contoh berikut meminta GOLF_SHOT_EVENT
sebagai bagian dari latihan GOLF
:
val config = ExerciseConfig(
exerciseType = ExerciseType.GOLF,
dataTypes = setOf(....),
// ...
exerciseEventTypes = setOf(ExerciseEventType.GOLF_SHOT_EVENT),
)
Mendaftar untuk pembaruan peristiwa latihan
Anda dapat menerima pembaruan ExerciseEvent
sebagai bagian dari infrastruktur yang ada
dan dimiliki aplikasi Anda untuk menerima pembaruan latihan.
Contoh berikut menunjukkan cara menyertakan dukungan untuk pembaruan GolfShotEvent
:
val callback = object : ExerciseUpdateCallback {
override fun onExerciseUpdateReceived(update: ExerciseUpdate) {
...
}
// [ExerciseEvent] intended to come through with low latency and out of
// band of onExerciseUpdateReceived()
override fun onExerciseEventReceived(event: ExerciseEvent) {
when (event) {
is GolfShotEvent -> {
if (it.swingType == GolfShotSwingType.PUTT) {
println("Putt detected!")
}
}
}
}
}