Android 애플리케이션을 사용하여 HTTP 호출을하는 방법에는 여러 가지가 있습니다. 어떤 사람이 http 서버에서 이미지를 가져 오려면 그 중 하나의 방법을 사용하여 이미지를 가져올 수 있습니다. 반면에 http 서버 응답을 위해 JSON 또는 XML을 읽으려는 사람은 다른 방법을 사용하여이를 수행 할 수 있습니다. 위의 두 시나리오는 다른 시나리오가 발생할 수있는 예입니다. 내 질문은 거기에 어떤 HttpConnection 시간 초과 체크를 유지할 수있는 표준 방법이있다. 특정 시나리오에서는 WIFI 또는 GPRS 연결을 사용할 수 있지만 처리 시간이 길기 때문에 응용 프로그램의 사용자 경험이 방해 받고 있습니다. 이 문제를 어떻게 확인할 수 있습니까?Android에서 연결 시간 초과
감사
다음은 코드 예제
public boolean readAndSaveFileFromWeb(String url) {
byte[] fileRead = null;
FileOutputStream fos;
try {
InputStream is = (InputStream) this.fetch(url);
if(is!=null){
fileRead = readBytes(is);
}else{
return false;
}
} catch (MalformedURLException e) {
Log.v(TAG, "readAndSaveFileFromWeb Exception: Malformed URL "
+ e.getMessage());
return false;
} catch (IOException e) {
Log.v(TAG, " readAndSaveFileFromWeb Exception: IOException"
+ e.getMessage());
return false;
} catch (Exception e) {
Log.v(TAG, " readAndSaveFileFromWeb Exception: " + e.getClass());
return false;
}
}
public Object fetch(String address) throws MalformedURLException,
IOException {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
이제 위의 코드는 주소 URL에서 콘텐츠/응답을 얻을 수있다. 특정 시나리오에서는 WIFI 또는 GPRS 연결을 사용할 수 있지만 연결 속도가 느려지면 데이터를 가져 오는 데 더 많은 시간이 소요됩니다. 이 지연 동안 .. UI 쓰레드와 다른 스레드에서 네트워크 집중적 인 작업을 수행하고 있지만 응용 프로그램이 멈춘 것 같습니다. 이것은 약간의 사용자 경험을 방해하고 있습니다.
귀하의 질문은 약간 모호합니다. 설명 할 수있는 몇 가지 예제 코드를 게시 할 수 있습니까? – elevine