출처 1: https://stackoverflow.com/questions/38495961/google-fit-android-get-last-10-days-data
출처 2:https://developers.google.com/android/reference/com/google/android/gms/fitness/HistoryApi
출처1의 코드에서 client부분이 안나와있어서 출처2의 client생성부분 참고함
코드(code)
try{
sleep(10000);
readDataWithoutToast();
//====== 10일 정보 가져오기
// get the start and end date of the urrent mobile
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.DAY_OF_YEAR, -10);
long startTime = cal.getTimeInMillis();
java.text.DateFormat dateFormat = DateFormat.getDateInstance();
//-------------steps-------------------------------
//code to get last 10 days steps
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
GoogleApiClient client = new GoogleApiClient.Builder(MainActivity.this)
.addApi(Fitness.HISTORY_API).build();
client.connect();
DataReadResult dataReadResult=null;
dataReadResult = Fitness.HistoryApi.readData(client, readRequest).await(1, TimeUnit.MINUTES);
// display data
//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 dataSet2 : dataSets) {
Log.e("step","step:"+dataSet2);
}
}
}
else if (dataReadResult.getDataSets().size() > 0) //Used for non-aggregated data
{
Log.e("History", "Number of returned DataSets: " + dataReadResult.getDataSets().size());
for (DataSet dataSet3 : dataReadResult.getDataSets()) {
Log.e("step","step:"+dataSet3);
}
}
}catch (Exception e){
}
'안드로이드' 카테고리의 다른 글
[Android] 소리치는 클린 아키텍처, MVI 그리고 Jetpack Compose (1) | 2024.02.15 |
---|---|
카카오톡으로 로그인하기(구버전 버그 해결) (0) | 2019.08.07 |
안드로이드 Google Admob 구현하기 (0) | 2019.07.07 |
안드로이드 레이아웃 둥근 모서리 만들기 (0) | 2019.07.06 |
안드로이드 8.0(api26) 알림채널 생성하기 (notification channel) (0) | 2019.07.06 |