2013-02-27 3 views
0

그래서 restTemplate.getForObject를 사용하여 URL에서 간단한 JSON 파일을로드하려고합니다. 하나의 문자열로 간단한 json 파일을 만들었지 만 Android를로드 할 수 없습니다. 그러나 에뮬레이터의 브라우저에서 URL을 입력하면 브라우저에 내 json 파일이 표시됩니다.Android maven의 url에서 간단한 json 파일 읽기

restTemplate.getForObject와 함께 작동하지 않는 이유는 무엇입니까?

내 코드 :

ServerCaller :

private static final String ipAddress = "192.168.56.1:8080"; 
private RestTemplate restTemplate = new RestTemplate(); 
private String test; 

private List<HttpMessageConverter<?>> messageConverters; 

private static ServerCaller instance = null; 

private ServerCaller(){ 
    messageConverters = new ArrayList<HttpMessageConverter<?>>(); 
    messageConverters.add(new FormHttpMessageConverter()); 
    messageConverters.add(new StringHttpMessageConverter()); 
    messageConverters.add(new MappingJacksonHttpMessageConverter()); 
    restTemplate.setMessageConverters(messageConverters); 
} 

private static void createMessageService(){ 
    if(instance == null){ 
     instance = new ServerCaller(); 
    } 
} 

public static ServerCaller getInstance(){ 
    if(instance == null){ 
     createMessageService(); 
    } 
    return instance; 
} 


public ServerError getTest() { 
     try { 
     test = restTemplate.getForObject("http://" + ipAddress + "/ProjectTeamF-1.0/service/getTest.json", String.class); 

     } catch (ResourceAccessException rae) { 
      return ServerError.ServerNotFound; 
     } catch (HttpServerErrorException hsee) { 
      return ServerError.WrongData; 
     } catch (Exception e) { 
      return ServerError.OtherError; 
     } 
     return ServerError.NoError; 
    } 

public String pakTest(){ 
    return test; 
} 

그럼 내보기 : 당신은 URL을 사용하여 객체를 얻을 수 AsyncTasks를 사용할 수있어

serverCaller.getTest(); 
ServerError se = serverCaller.getTest();       

Toast.makeText(getApplicationContext(),serverCaller.pakTest(),Toast.LENGTH_SHORT).show(); 
+0

어떤 오류가 발생합니까? – cowls

+0

android.app.ServiceConnectionLeaked : 서비스 com.android.exchange.ExchangeService가 원래 바인딩 된 ServiceConnection [email protected]6ee90을 유출했습니다. Emulotar를 실행할 때이 오류가 여러 번 발생합니다. 하지만이게 문제가 아니라고 생각합니다. 그냥 비어있는 토스트를 보여줍니다. –

+0

서버가 돌아 오는 MIME 유형은 무엇입니까? – alex

답변

1

때문에 할 수 있습니다 ' 주 스레드에서이 작업을 수행하지 마십시오.

+1

감사! 지금 그것은 작동한다 : D –