2016-07-27 9 views
0

읽기 요청 객체 DataReadRequest 클래스를 생성하는 동안이 오류가 발생합니다. 나는 문서를 찾으려고했지만 명확하지 않다.java.lang.IllegalStateException : 집계를 요청하는 동안 올바른 버킷 전략을 지정해야합니다.

DataReadRequest readRequest = new DataReadRequest.Builder() 
      .read(DataType.TYPE_LOCATION_SAMPLE) 
      .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS) 
      .bucketByTime(1, TimeUnit.HOURS) 
      .build(); 

오류가 bucketByTime 방법에 내가 진행하는 방법을 알고하지 않습니다 여기 내 코드입니다.

+0

[오류] (https://developer.android.com/reference/java/lang/IllegalStateException.html)에 응답이 커밋 된 후에 출력 스트림을 쓰려고 시도한다고 나와 있습니다. * "메소드가 불법적이거나 부적절한 시간에 호출되었다는 신호, 다시 말해 Java 환경 또는 Java 애플리케이션이 요청 된 작업에 적합한 상태가 아닙니다."*이 문제를 해결하려면 return 문을 포함 시키십시오. 리디렉션 또는 전달 구문을 보냅니다. 이 [튜토리얼] (http://quabr.com/37820404/google-fit-api-getting-calories-burned-per-activity)을 확인하십시오. – abielita

답변

3

이전에이 오류가있었습니다. 짧은 대답이이 bucketByTime 방법 집계 데이터는 당신이 요구하고 기간에 따른 요청이 작동하지 않는 이유 라인

.bucketByTime(1, TimeUnit.HOURS) 

에게 그 이유를 언급하지만, 데이터 당신 ' 재 요청을 집계 할 수 없습니다 (위치 샘플을 함께 추가한다는 것은 무엇을 의미합니까?). 실제로 버킷 팅은 모든 데이터 포인트를 하나의 데이터 포인트로 나타내려고한다는 의미이므로 모든 버킷 팅 메소드는 집계 데이터 유형을 기대합니다.