How to display everyday's step in google fit history api?











up vote
0
down vote

favorite












I am trying to us the google fit history api for my app, I want do display everyday's steps on the phone's screen but I can't figure out how to do that. It would be better if I can get a little help with this and also display each day's data separately if possible. Currently as you can see I am getting the log.



Here's my code:



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.hello);
mButtonViewWeek = (Button) findViewById(R.id.btn_view_week);
mButtonViewToday = (Button) findViewById(R.id.btn_view_today);
mButtonAddSteps = (Button) findViewById(R.id.btn_add_steps);
mButtonUpdateSteps = (Button) findViewById(R.id.btn_update_steps);
mButtonDeleteSteps = (Button) findViewById(R.id.btn_delete_steps);

mButtonViewWeek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ViewWeekStepCountTask().execute();
}
});
mButtonViewToday.setOnClickListener(this);
mButtonAddSteps.setOnClickListener(this);
mButtonUpdateSteps.setOnClickListener(this);
mButtonDeleteSteps.setOnClickListener(this);

mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addConnectionCallbacks(this)
.enableAutoManage(this, 0, this)
.build();

}

private class ViewWeekStepCountTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
displayLastWeeksData();
return null;
}
}


Retriving data:



    public void displayLastWeeksData(){

Date date1 = new Date();
SimpleDateFormat formatter1 = new SimpleDateFormat("MMddyyyy");
String format = formatter1.format(date1);

SimpleDateFormat formatter = new SimpleDateFormat("MMddyyyy hh:mm:ss", Locale.ENGLISH);
Calendar cal = Calendar.getInstance();

Date today = null;
try {
today = formatter.parse(format+" 00:00:00");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(today);
cal.add(Calendar.MONTH, -1);
long start = cal.getTimeInMillis();
System.out.println("start time:"+start);

Date date= null;
try {
date = formatter.parse(format+" 23:59:59");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(date);
long end = cal.getTimeInMillis();
System.out.println("end time: "+end);

Date tem= new Date();

cal.setTime(tem);

long present = cal.getTimeInMillis();

System.out.println(present);


cal.setTime(today);




java.text.DateFormat dateFormat = DateFormat.getDateInstance();
Log.e("History", "Range Start: " + dateFormat.format(start));
Log.e("History", "Range End: " + dateFormat.format(end));

//Check how many steps were walked and recorded in the last 7 days
final DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(start, end, TimeUnit.MILLISECONDS)
.build();

final DataReadResult dataReadResult = Fitness.HistoryApi.readData(mGoogleApiClient, readRequest).await(1,TimeUnit.MINUTES);
//Used for aggregated data
if (dataReadResult.getBuckets().size() > 0) {
Log.e("History", "Number of buckets: " + dataReadResult.getBuckets().size());
for (Bucket bucket : dataReadResult.getBuckets()) {
List<DataSet> dataSets = bucket.getDataSets();
for (DataSet dataSet : dataSets) {
showDataSet(dataSet);
}
}
}
//Used for non-aggregated data
else if (dataReadResult.getDataSets().size() > 0) {
Log.e("History", "Number of returned DataSets: " + dataReadResult.getDataSets().size());
for (DataSet dataSet : dataReadResult.getDataSets()) {
showDataSet(dataSet);
}
}

}


For showing the values:



private void showDataSet(DataSet dataSet) {
Log.e("History", "Data returned for Data type: " + dataSet.getDataType().getName());
DateFormat dateFormat = DateFormat.getDateInstance();
DateFormat timeFormat = DateFormat.getTimeInstance();

for (DataPoint dp : dataSet.getDataPoints()) {

Log.e("History", "Data point:");
Log.e("History", "tType: " + dp.getDataType().getName());
Log.e("History", "tStart: " + dateFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
Log.e("History", "tEnd: " + dateFormat.format(dp.getEndTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
for (Field field : dp.getDataType().getFields()) {
Log.e("History", "tField: " + field.getName() +
" Value: " + dp.getValue(field));

//textView.setText(dp.getValue(field).toString());

}
}
}

@Override
public void onConnectionSuspended(int i) {
Log.e("HistoryAPI", "onConnectionSuspended");
}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Log.e("HistoryAPI", "onConnectionFailed");
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Log.e("HistoryAPI", "onConnected");
new ViewWeekStepCountTask().execute();
}


@Override
public void onClick(View v) {
}
}









share|improve this question
























  • Can you add any details like error problem encountered? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example Show the community what you have tried.
    – abielita
    Nov 12 at 7:45















up vote
0
down vote

favorite












I am trying to us the google fit history api for my app, I want do display everyday's steps on the phone's screen but I can't figure out how to do that. It would be better if I can get a little help with this and also display each day's data separately if possible. Currently as you can see I am getting the log.



Here's my code:



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.hello);
mButtonViewWeek = (Button) findViewById(R.id.btn_view_week);
mButtonViewToday = (Button) findViewById(R.id.btn_view_today);
mButtonAddSteps = (Button) findViewById(R.id.btn_add_steps);
mButtonUpdateSteps = (Button) findViewById(R.id.btn_update_steps);
mButtonDeleteSteps = (Button) findViewById(R.id.btn_delete_steps);

mButtonViewWeek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ViewWeekStepCountTask().execute();
}
});
mButtonViewToday.setOnClickListener(this);
mButtonAddSteps.setOnClickListener(this);
mButtonUpdateSteps.setOnClickListener(this);
mButtonDeleteSteps.setOnClickListener(this);

mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addConnectionCallbacks(this)
.enableAutoManage(this, 0, this)
.build();

}

private class ViewWeekStepCountTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
displayLastWeeksData();
return null;
}
}


Retriving data:



    public void displayLastWeeksData(){

Date date1 = new Date();
SimpleDateFormat formatter1 = new SimpleDateFormat("MMddyyyy");
String format = formatter1.format(date1);

SimpleDateFormat formatter = new SimpleDateFormat("MMddyyyy hh:mm:ss", Locale.ENGLISH);
Calendar cal = Calendar.getInstance();

Date today = null;
try {
today = formatter.parse(format+" 00:00:00");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(today);
cal.add(Calendar.MONTH, -1);
long start = cal.getTimeInMillis();
System.out.println("start time:"+start);

Date date= null;
try {
date = formatter.parse(format+" 23:59:59");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(date);
long end = cal.getTimeInMillis();
System.out.println("end time: "+end);

Date tem= new Date();

cal.setTime(tem);

long present = cal.getTimeInMillis();

System.out.println(present);


cal.setTime(today);




java.text.DateFormat dateFormat = DateFormat.getDateInstance();
Log.e("History", "Range Start: " + dateFormat.format(start));
Log.e("History", "Range End: " + dateFormat.format(end));

//Check how many steps were walked and recorded in the last 7 days
final DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(start, end, TimeUnit.MILLISECONDS)
.build();

final DataReadResult dataReadResult = Fitness.HistoryApi.readData(mGoogleApiClient, readRequest).await(1,TimeUnit.MINUTES);
//Used for aggregated data
if (dataReadResult.getBuckets().size() > 0) {
Log.e("History", "Number of buckets: " + dataReadResult.getBuckets().size());
for (Bucket bucket : dataReadResult.getBuckets()) {
List<DataSet> dataSets = bucket.getDataSets();
for (DataSet dataSet : dataSets) {
showDataSet(dataSet);
}
}
}
//Used for non-aggregated data
else if (dataReadResult.getDataSets().size() > 0) {
Log.e("History", "Number of returned DataSets: " + dataReadResult.getDataSets().size());
for (DataSet dataSet : dataReadResult.getDataSets()) {
showDataSet(dataSet);
}
}

}


For showing the values:



private void showDataSet(DataSet dataSet) {
Log.e("History", "Data returned for Data type: " + dataSet.getDataType().getName());
DateFormat dateFormat = DateFormat.getDateInstance();
DateFormat timeFormat = DateFormat.getTimeInstance();

for (DataPoint dp : dataSet.getDataPoints()) {

Log.e("History", "Data point:");
Log.e("History", "tType: " + dp.getDataType().getName());
Log.e("History", "tStart: " + dateFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
Log.e("History", "tEnd: " + dateFormat.format(dp.getEndTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
for (Field field : dp.getDataType().getFields()) {
Log.e("History", "tField: " + field.getName() +
" Value: " + dp.getValue(field));

//textView.setText(dp.getValue(field).toString());

}
}
}

@Override
public void onConnectionSuspended(int i) {
Log.e("HistoryAPI", "onConnectionSuspended");
}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Log.e("HistoryAPI", "onConnectionFailed");
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Log.e("HistoryAPI", "onConnected");
new ViewWeekStepCountTask().execute();
}


@Override
public void onClick(View v) {
}
}









share|improve this question
























  • Can you add any details like error problem encountered? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example Show the community what you have tried.
    – abielita
    Nov 12 at 7:45













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am trying to us the google fit history api for my app, I want do display everyday's steps on the phone's screen but I can't figure out how to do that. It would be better if I can get a little help with this and also display each day's data separately if possible. Currently as you can see I am getting the log.



Here's my code:



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.hello);
mButtonViewWeek = (Button) findViewById(R.id.btn_view_week);
mButtonViewToday = (Button) findViewById(R.id.btn_view_today);
mButtonAddSteps = (Button) findViewById(R.id.btn_add_steps);
mButtonUpdateSteps = (Button) findViewById(R.id.btn_update_steps);
mButtonDeleteSteps = (Button) findViewById(R.id.btn_delete_steps);

mButtonViewWeek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ViewWeekStepCountTask().execute();
}
});
mButtonViewToday.setOnClickListener(this);
mButtonAddSteps.setOnClickListener(this);
mButtonUpdateSteps.setOnClickListener(this);
mButtonDeleteSteps.setOnClickListener(this);

mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addConnectionCallbacks(this)
.enableAutoManage(this, 0, this)
.build();

}

private class ViewWeekStepCountTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
displayLastWeeksData();
return null;
}
}


Retriving data:



    public void displayLastWeeksData(){

Date date1 = new Date();
SimpleDateFormat formatter1 = new SimpleDateFormat("MMddyyyy");
String format = formatter1.format(date1);

SimpleDateFormat formatter = new SimpleDateFormat("MMddyyyy hh:mm:ss", Locale.ENGLISH);
Calendar cal = Calendar.getInstance();

Date today = null;
try {
today = formatter.parse(format+" 00:00:00");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(today);
cal.add(Calendar.MONTH, -1);
long start = cal.getTimeInMillis();
System.out.println("start time:"+start);

Date date= null;
try {
date = formatter.parse(format+" 23:59:59");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(date);
long end = cal.getTimeInMillis();
System.out.println("end time: "+end);

Date tem= new Date();

cal.setTime(tem);

long present = cal.getTimeInMillis();

System.out.println(present);


cal.setTime(today);




java.text.DateFormat dateFormat = DateFormat.getDateInstance();
Log.e("History", "Range Start: " + dateFormat.format(start));
Log.e("History", "Range End: " + dateFormat.format(end));

//Check how many steps were walked and recorded in the last 7 days
final DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(start, end, TimeUnit.MILLISECONDS)
.build();

final DataReadResult dataReadResult = Fitness.HistoryApi.readData(mGoogleApiClient, readRequest).await(1,TimeUnit.MINUTES);
//Used for aggregated data
if (dataReadResult.getBuckets().size() > 0) {
Log.e("History", "Number of buckets: " + dataReadResult.getBuckets().size());
for (Bucket bucket : dataReadResult.getBuckets()) {
List<DataSet> dataSets = bucket.getDataSets();
for (DataSet dataSet : dataSets) {
showDataSet(dataSet);
}
}
}
//Used for non-aggregated data
else if (dataReadResult.getDataSets().size() > 0) {
Log.e("History", "Number of returned DataSets: " + dataReadResult.getDataSets().size());
for (DataSet dataSet : dataReadResult.getDataSets()) {
showDataSet(dataSet);
}
}

}


For showing the values:



private void showDataSet(DataSet dataSet) {
Log.e("History", "Data returned for Data type: " + dataSet.getDataType().getName());
DateFormat dateFormat = DateFormat.getDateInstance();
DateFormat timeFormat = DateFormat.getTimeInstance();

for (DataPoint dp : dataSet.getDataPoints()) {

Log.e("History", "Data point:");
Log.e("History", "tType: " + dp.getDataType().getName());
Log.e("History", "tStart: " + dateFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
Log.e("History", "tEnd: " + dateFormat.format(dp.getEndTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
for (Field field : dp.getDataType().getFields()) {
Log.e("History", "tField: " + field.getName() +
" Value: " + dp.getValue(field));

//textView.setText(dp.getValue(field).toString());

}
}
}

@Override
public void onConnectionSuspended(int i) {
Log.e("HistoryAPI", "onConnectionSuspended");
}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Log.e("HistoryAPI", "onConnectionFailed");
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Log.e("HistoryAPI", "onConnected");
new ViewWeekStepCountTask().execute();
}


@Override
public void onClick(View v) {
}
}









share|improve this question















I am trying to us the google fit history api for my app, I want do display everyday's steps on the phone's screen but I can't figure out how to do that. It would be better if I can get a little help with this and also display each day's data separately if possible. Currently as you can see I am getting the log.



Here's my code:



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.hello);
mButtonViewWeek = (Button) findViewById(R.id.btn_view_week);
mButtonViewToday = (Button) findViewById(R.id.btn_view_today);
mButtonAddSteps = (Button) findViewById(R.id.btn_add_steps);
mButtonUpdateSteps = (Button) findViewById(R.id.btn_update_steps);
mButtonDeleteSteps = (Button) findViewById(R.id.btn_delete_steps);

mButtonViewWeek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ViewWeekStepCountTask().execute();
}
});
mButtonViewToday.setOnClickListener(this);
mButtonAddSteps.setOnClickListener(this);
mButtonUpdateSteps.setOnClickListener(this);
mButtonDeleteSteps.setOnClickListener(this);

mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addConnectionCallbacks(this)
.enableAutoManage(this, 0, this)
.build();

}

private class ViewWeekStepCountTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
displayLastWeeksData();
return null;
}
}


Retriving data:



    public void displayLastWeeksData(){

Date date1 = new Date();
SimpleDateFormat formatter1 = new SimpleDateFormat("MMddyyyy");
String format = formatter1.format(date1);

SimpleDateFormat formatter = new SimpleDateFormat("MMddyyyy hh:mm:ss", Locale.ENGLISH);
Calendar cal = Calendar.getInstance();

Date today = null;
try {
today = formatter.parse(format+" 00:00:00");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(today);
cal.add(Calendar.MONTH, -1);
long start = cal.getTimeInMillis();
System.out.println("start time:"+start);

Date date= null;
try {
date = formatter.parse(format+" 23:59:59");
} catch (ParseException e) {
e.printStackTrace();
}
cal.setTime(date);
long end = cal.getTimeInMillis();
System.out.println("end time: "+end);

Date tem= new Date();

cal.setTime(tem);

long present = cal.getTimeInMillis();

System.out.println(present);


cal.setTime(today);




java.text.DateFormat dateFormat = DateFormat.getDateInstance();
Log.e("History", "Range Start: " + dateFormat.format(start));
Log.e("History", "Range End: " + dateFormat.format(end));

//Check how many steps were walked and recorded in the last 7 days
final DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(start, end, TimeUnit.MILLISECONDS)
.build();

final DataReadResult dataReadResult = Fitness.HistoryApi.readData(mGoogleApiClient, readRequest).await(1,TimeUnit.MINUTES);
//Used for aggregated data
if (dataReadResult.getBuckets().size() > 0) {
Log.e("History", "Number of buckets: " + dataReadResult.getBuckets().size());
for (Bucket bucket : dataReadResult.getBuckets()) {
List<DataSet> dataSets = bucket.getDataSets();
for (DataSet dataSet : dataSets) {
showDataSet(dataSet);
}
}
}
//Used for non-aggregated data
else if (dataReadResult.getDataSets().size() > 0) {
Log.e("History", "Number of returned DataSets: " + dataReadResult.getDataSets().size());
for (DataSet dataSet : dataReadResult.getDataSets()) {
showDataSet(dataSet);
}
}

}


For showing the values:



private void showDataSet(DataSet dataSet) {
Log.e("History", "Data returned for Data type: " + dataSet.getDataType().getName());
DateFormat dateFormat = DateFormat.getDateInstance();
DateFormat timeFormat = DateFormat.getTimeInstance();

for (DataPoint dp : dataSet.getDataPoints()) {

Log.e("History", "Data point:");
Log.e("History", "tType: " + dp.getDataType().getName());
Log.e("History", "tStart: " + dateFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
Log.e("History", "tEnd: " + dateFormat.format(dp.getEndTime(TimeUnit.MILLISECONDS)) + " " + timeFormat.format(dp.getStartTime(TimeUnit.MILLISECONDS)));
for (Field field : dp.getDataType().getFields()) {
Log.e("History", "tField: " + field.getName() +
" Value: " + dp.getValue(field));

//textView.setText(dp.getValue(field).toString());

}
}
}

@Override
public void onConnectionSuspended(int i) {
Log.e("HistoryAPI", "onConnectionSuspended");
}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Log.e("HistoryAPI", "onConnectionFailed");
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Log.e("HistoryAPI", "onConnected");
new ViewWeekStepCountTask().execute();
}


@Override
public void onClick(View v) {
}
}






java android layout google-fit






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 10 at 3:24

























asked Nov 10 at 3:16









Ayush Kshitij

508




508












  • Can you add any details like error problem encountered? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example Show the community what you have tried.
    – abielita
    Nov 12 at 7:45


















  • Can you add any details like error problem encountered? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example Show the community what you have tried.
    – abielita
    Nov 12 at 7:45
















Can you add any details like error problem encountered? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example Show the community what you have tried.
– abielita
Nov 12 at 7:45




Can you add any details like error problem encountered? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example Show the community what you have tried.
– abielita
Nov 12 at 7:45

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235723%2fhow-to-display-everydays-step-in-google-fit-history-api%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235723%2fhow-to-display-everydays-step-in-google-fit-history-api%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)