그래서 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();
어떤 오류가 발생합니까? – cowls
android.app.ServiceConnectionLeaked : 서비스 com.android.exchange.ExchangeService가 원래 바인딩 된 ServiceConnection [email protected]6ee90을 유출했습니다. Emulotar를 실행할 때이 오류가 여러 번 발생합니다. 하지만이게 문제가 아니라고 생각합니다. 그냥 비어있는 토스트를 보여줍니다. –
서버가 돌아 오는 MIME 유형은 무엇입니까? – alex