2012-11-20 2 views
1

RoboSpice를 실행하는 데 필요한 간단한 데모가 있습니다.RoboSpice RequestProgress가 업데이트되었지만 requestSuccess가 호출되지 않았습니다.

github에서 발견되는대로 SpringAndroidContentService까지 확장되는 기본 서비스입니다.

이상한 일은 요청을 보내면 Progress이 업데이트되지만 결국에는 간단한 토스트 인 onRequestSuccess으로 전화를받지 못합니다.

LogCat을 검사했는데 예외가 없습니다. 관련 코드는 다음과 같습니다.

/* RestContentRequest overrider */ 
@Override 
public String loadDataFromNetwork() throws Exception { 
    RestTemplate restTemplate = getRestTemplate(); 
    try { 
     String response= restTemplate.getForObject(
      "http://xxx.xxx/mobile.html", String.class); 
     //does not get called 
     Log.d(LOGTAG, response); 
     return response; 
    } catch (HttpClientErrorException e) { 
     //Does not get called 
     Log.e(LOGTAG, e.toString()); 
     return e.getLocalizedMessage(); 
    } 
} 

private class RequestListener implements RequestListener<String>, RequestProgressListener { 

    @Override 
    public void onRequestFailure(SpiceException exception) { 
     //Does not get called 
     debug.setText(exception.getLocalizedMessage()); 
    } 

    @Override 
    public void onRequestSuccess(String response) { 
     //Does not get called 
     Toast.makeText(LoginActivity.this, response, Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onRequestProgressUpdate(RequestProgress progress) { 
      //Gets called 
      debug.setText(convertProgressToString(progress)); 
    } 

    private String convertProgressToString(RequestProgress progress) { 
     String status = ""; 
     switch (progress.getStatus()) { 
      case READING_FROM_CACHE: 
       status = "? cache -->"; 
       break; 
      case LOADING_FROM_NETWORK: 
       status = "^ network ^"; 
       break; 
      case WRITING_TO_CACHE: 
       status = "--> cache"; 
       break; 

      default: 
       status = ""; 
       break; 

     } 
     return status; 
    } 

} 

무엇이 원인 일 수 있습니까? 단순히 문자열이있는 페이지를 읽어야합니다. (plain/text)

답변

0

RoboSpice의 어떤 버전을 사용했는지 모르지만 RoboSpice와 함께 사용해야합니다. 시도 해보시겠습니까? 마지막 안정 버전은 1.3.1입니다.

Stack Over Flow에 대한 RoboSpice 질문이 있으시면 알려 주시기 바랍니다.

+0

필자는 결국 Jackson 라이브러리에서 Gson 라이브러리로 이동하여이 문제를 해결했습니다. 문제가 RoboSpice 또는 Jackson 라이브러리 버전에 의존하는지 여부는 아직 알 수 없습니다. 최신 버전을 다운로드하고 알려 드리겠습니다. – tolgap

+0

thx @tolgap. SOF보다 RoboSpice 문제 페이지를 사용하십시오. 그러나 어제 RoboSpice에 대한 첫 번째 Stack Over FLow 질문을 보는 것이 좋았습니다;) – Snicolas

관련 문제