가능한 중복에 4.0 및 4.1하지만에() 예외를 연결 HttpURLConnection의 : 나는 안드로이드 응용 프로그램에서 일하고 있어요
Android app doesn’t work on Android 42.3.3
. 몇 시간 동안 해결책을 찾으려고 노력했습니다. 내 응용 프로그램은 에뮬레이터 2.3.3을 실행 중일 때 데이터베이스 및 서버와 잘 작동하지만 4.0 또는 4.1 또는 2.3.3 이상의 버전에서는 실행되지 않습니다. 응용 프로그램이이 메서드에서 예외를 throw합니다 : 예외가 발생하려고 할 때 connection.connect();
도와주세요.
public void sendOutputLine(URL url, String outputLine) {
try {
connection = (HttpURLConnection) url.openConnection();
Log.d(LogInActivity.DEBUG_TAG, "1");
connection.setDoInput(true);
Log.d(LogInActivity.DEBUG_TAG, "2");
connection.setDoOutput(true);
Log.d(LogInActivity.DEBUG_TAG, "3");
connection.setRequestMethod("POST");
Log.d(LogInActivity.DEBUG_TAG, "4");
connection.setFixedLengthStreamingMode(outputLine.length());
Log.d(LogInActivity.DEBUG_TAG, "5");
connection.connect();
Log.d(LogInActivity.DEBUG_TAG, "6");
out = connection.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));
pw.print(outputLine);
pw.flush();
out.close();
} catch (SocketTimeoutException e) {
Log.d(LogInActivity.DEBUG_TAG,
"SocketTimeoutException sendOutputLine(): " + e.getMessage());
} catch (ProtocolException e) {
Log.d(LogInActivity.DEBUG_TAG,
"Protocol exception sendOutputLine(): " + e.getMessage());
} catch (IOException e) {
Log.d(LogInActivity.DEBUG_TAG, "IO exception sendOutputLine(): "
+ e.getMessage());
} catch (Exception e) {
Log.d(LogInActivity.DEBUG_TAG,
"Exception bommed client: " + e.getMessage());
}
}
로그 캣 :
11-17 13:19:11.710: D/SocialFamilyTree(847): outputLint: Login%[email protected]%57963634
11-17 13:19:11.710: D/SocialFamilyTree(847): 1
11-17 13:19:11.710: D/SocialFamilyTree(847): 2
11-17 13:19:11.710: D/SocialFamilyTree(847): 3
11-17 13:19:11.710: D/SocialFamilyTree(847): 4
11-17 13:19:11.710: D/SocialFamilyTree(847): 5
11-17 13:19:11.740: D/SocialFamilyTree(847): Exception bommed client: null
편집 : 내가보고, 그래서 나는이 작업을 위해 AsyncTask
을 어떻게 사용합니까 AsyncTask
를 사용할 필요가 ? 이 방법에 의해
** Utils **는 어디에서 왔습니까? –
이것은 클래스입니다 ... 내 진도 대화 상자의 표시 및 숨기기 기능을 선언했습니다. –