Итак, я пытаюсь создать приложение, которое подключается к Google Fit, и показывает пользователю их данные довольно обтекаемым способом, и у меня возникают проблемы с поиском калорий, которые пользователь сжег для каждый отдельный актив в день. Я могу получить общее количество калорий в течение всего дня, и каждое действие, которое каждый пользователь делает каждый день, но не калории, сжигаемые для каждого вида деятельности.Google Fit API, сжигание калорий за активность
Ссылка на GitHub: https://github.com/drb56/FitTest Я добавил код java, а не какой-либо материал xml. Код Google Fit находится в FitTestFragment.java. Я вставить некоторый код ключа вниз ниже:
Вот где я подключиться к Google Fit для клиента API:
mClient = new GoogleApiClient.Builder(getContext())
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ))
.addConnectionCallbacks(this)
.enableAutoManage(getActivity(), 0, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult result) {
Log.i("MyApp", "Google Play services connection failed. Cause: " +
result.toString());
}})
.build();
Вот где я сделать DataReadRequest для конкретной информации:
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_CALORIES_EXPENDED, DataType.AGGREGATE_CALORIES_EXPENDED)
.aggregate(DataType.TYPE_ACTIVITY_SEGMENT, DataType.AGGREGATE_ACTIVITY_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
DataReadResult dataReadResult = Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES);
if (dataReadResult.getBuckets().size() > 0)
{
Log.i("MyApp", "Number of returned buckets of DataSets is: "
+ dataReadResult.getBuckets().size());
for (Bucket bucket : dataReadResult.getBuckets())
{
List<DataSet> dataSets = bucket.getDataSets();
for (DataSet dataSet : dataSets)
{
dumpDataSet(dataSet);
}
}
}
else
{
Log.i("MyApp", "No data");
}
Вот как выглядит мой вывод для некоторых видов деятельности и расходуемых калорий:
Data point:
Type: com.google.calories.expended
Date: 06/09/2016
Start: 2:58:13 PM
End: 2:58:13 PM
Field: calories Value: 2555.9749
Data point:
Type: com.google.activity.summary
Date: 06/09/2016
Start: 2:58:13 PM
End: 2:58:13 PM
Field: activity Value: 3
Field: duration Value: 76513626
Field: num_segments Value: 17
Data point:
Type: com.google.activity.summary
Date: 06/09/2016
Start: 4:13:58 PM
End: 12:41:04 PM
Field: activity Value: 7
Field: duration Value: 4553146
Field: num_segments Value: 17
Проверьте этот блог для тех, кому нужна полная калория, сжигаемая http://www.gadgetsaint.com/android/google-fit-steps-calories-android/#.WESRX6J97BJ – ASP