How To Read Cycling And Running Data From Google Fit History Api Using Readdailytotal
I'm trying to read daily data from Fitness History Api with method readDailyTotal. I want to read steps, cycling and running. I have implemented steps successfully but i can't get
Solution 1:
I'm not sure about cycle pedaling data, but you can get a biking type data like this:
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_ACTIVITY_SEGMENT, DataType.AGGREGATE_ACTIVITY_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
PendingResult<DataReadResult> pendingResult = Fitness.HistoryApi.readData(client, readRequest);
DataReadResult dataReadResult = pendingResult.await(60, TimeUnit.SECONDS);
Log.d(TAG, "Retrieved results: " + dataReadResult);
if (dataReadResult.getStatus().isSuccess()) {
if (dataReadResult.getBuckets().size() > 0) {
for (Bucket bucket : dataReadResult.getBuckets()) {
List<DataSet> dataSets = bucket.getDataSets();
Log.d(TAG, "getFitHistoryByTime: Activity " + bucket.getActivity());
Log.d(TAG, "getFitHistoryByTime: Start - End "
+ dateFormat.format(bucket.getStartTime(TimeUnit.MILLISECONDS))
+ " - "
+ dateFormat.format(bucket.getEndTime(TimeUnit.MILLISECONDS)));
for (DataSet dataSet : dataSets) {
Log.i(TAG, "Data returned for Data type: " + dataSet.getDataType().getName());
for (DataPoint dp : dataSet.getDataPoints()) {
if (dp.getDataType().equals(DataType.AGGREGATE_ACTIVITY_SUMMARY)) {
boolean activityToAdd = false;
ActivitiesData activitiesData = new ActivitiesData();
for (Field field : dp.getDataType().getFields()) {
if (Field.FIELD_ACTIVITY.equals(field)) {
int activityType = dp.getValue(field).asInt();
Log.d(TAG, "getFitHistoryByTime: activity type " + activityType);
if (FitnessActivities.getName(activityType).equals("biking")) {
activityToAdd = true;
Log.d(TAG, "getFitHistoryByTime: added activity: " + FitnessActivities.getName(activityType));
}
}
if (Field.FIELD_DURATION.equals(field)) {
long duration = dp.getValue(field).asInt();
}
}
}
}
}
.....
Perhaps you get the idea based on this code snippet. Also, try to post this question on Google Fit G+ community.
Kind regards. MB
Post a Comment for "How To Read Cycling And Running Data From Google Fit History Api Using Readdailytotal"