我试过了
val dataRequest = DataReadRequest.Builder()
.aggregate(DataType.TYPE_DISTANCE_DELTA)
.aggregate(DataType.TYPE_CALORIES_EXPENDED)
.aggregate(DataType.TYPE_HEART_RATE_BPM)
.read(DataType.TYPE_WORKOUT_EXERCISE)
.read(DataType.AGGREGATE_MOVE_MINUTES)
.read(DataType.TYPE_MOVE_MINUTES)
.setTimeRange(start2B , end2B , TimeUnit.MILLISECONDS)
.enableServerQueries()
.bucketByActivitySegment(1, TimeUnit.MINUTES)
.build()
Fitness.getHistoryClient(this, account)
.readData(dataRequest)
.addOnSuccessListener {
for (bucket in it.buckets) {
for (data in bucket.dataSets) {
for (point in data.dataPoints) {
when (point.dataType) {
DataType.AGGREGATE_DISTANCE_DELTA -> distanceTotal.add( point.getValue(Field.FIELD_DISTANCE).asFloat() )
DataType.TYPE_HEART_RATE_BPM -> heartRateTotal.add( point.getValue(Field.FIELD_BPM).asFloat() )
DataType.TYPE_CALORIES_EXPENDED -> caloriesTotal.add( point.getValue(Field.FIELD_CALORIES).asFloat() )
DataType.TYPE_WORKOUT_EXERCISE -> exerciseNames.add( "[${point.getValue(Field.FIELD_EXERCISE).asString()}] ")
DataType.TYPE_MOVE_MINUTES -> Log.i("GOOGLE-FIT", "Move Minutes $point ")
DataType.AGGREGATE_MOVE_MINUTES -> Log.i("GOOGLE-FIT", "Moving Mins Count $point ")
}
}
Log.i("GOOGLE-FIT", "Google Daily DATE Read INFO A: $distanceTotal B: $heartRateTotal C: $caloriesTotal D: $exerciseNames ")
}
}我有时会得到卡路里和距离,但从不exerciseName什么是正确的方式访问记录在Google中的锻炼/锻炼?
有人知道如何从Google获得锻炼数据的教程/示例吗?
从哪里可以得到google的支持?
提前感谢
发布于 2022-05-25 14:36:30
您可以尝试Sessions,这将使您从健身商店获得符合某些条件的会话列表。
https://developers.google.com/fit/android/using-sessions#read-fitness-data
最后,如果您还没有看到这一点,请查看示例应用程序,以帮助您开始编写/理解Android中的Fit功能。
https://stackoverflow.com/questions/70172736
复制相似问题