Also versuche ich eine App zu erstellen, die eine Verbindung zu Google Fit herstellt und dem Nutzer seine Daten auf sehr einfache Weise anzeigt, und ich habe Probleme, die verbrannten Kalorien zu finden jede einzelne Aktivität pro Tag. Ich kann die Gesamtkalorien für den ganzen Tag, und jede Aktivität, die der Benutzer jeden Tag tat, aber nicht die Kalorien für jede Aktivität verbrannt.Google Fit API, Kalorienverbrauch je Aktivität
Link zu GitHub: https://github.com/drb56/FitTest Ich habe nur den Java-Code nicht irgendwelche der XML-Zeug hinzugefügt. Und der Google Fit-Code befindet sich in FitTestFragment.java. Ich werde einigen Schlüsselcode einfügen unten:
Hier ist, wo ich auf den Google Fit-API-Client verbinden:
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();
Hier ist, wo ich die DataReadRequest für spezifische Informationen machen:
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");
}
Hier ist, wie meine Ausgabe für einige Aktivitäten und Kalorien verbraucht aussieht:
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
Überprüfen Sie diesen Blog für jeden, der Kalorienverbrauch verbrannt http://www.gadgetsaint.com/android/google-fit-steps-calories-android/#.WESRX6J97BJ – ASP