2
다음 코드 스 니펫을 사용하여 android (2.3.4)에서 webservice 호출을 수행하려고합니다. conn.getOutputStream에서 내 문제가 발생합니다.이 메서드는 반환하는 데 20 초 정도 걸리는 것으로 보입니다. 이견있는 사람?HttpURLConnection.getOutputStream()은 20 초가 걸립니다. 왜?
URL uri = new URL(serviceURI + "/remoteMethod");
HttpURLConnection conn = (HttpURLConnection) uri.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
Log.d(TAG, "opening output stream");
OutputStreamWriter writer = new OutputStreamWriter(
conn.getOutputStream());
Log.d(TAG, "output stream opened");
String body = getRequestBody();
writer.write(body);
writer.flush();
writer.close();
int responseCode= conn.getResponseCode();
이 질문에 대한 직접적인 대답은 아니지만 Androids AsyncTask를 사용하여 가져 오기를 수행하는 것이 좋습니다. 이렇게하면 UI를 업데이트하여 사용자에게 알릴 수 있습니다. http://developer.android.com/reference/android/os/AsyncTask.html –
IntentService의 하위 클래스에있는 내 UI 스레드 외부에서이 모든 일이 일어나고 있으며, 그 질문에 유용성 패턴과 관련이 거의 없습니다. –
그리고 실제로 서버에 연결하는 데 20 초가 걸릴 수 있다는 명백한 이유 때문이 아닙니다. – jarnbjo