안드로이드 android.os.NetworkOnMainThreadException 에러
조회수 500회
BlogsSearchResults results = null;
try {
String text = URLEncoder.encode(query, "UTF-8");
String apiURL = blogSearchURL + text; // json 결과
apiURL += "&display=" + display + "&start=" + start + "&sort=" + sort;
URL url = new URL(apiURL);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("X-Naver-Client-Id", clientId);
con.setRequestProperty("X-Naver-Client-Secret", clientSecret);
int responseCode = con.getResponseCode();
BufferedReader br;
if (responseCode == 200) { // 정상 호출
br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
} else { // 에러 발생
br = new BufferedReader(new InputStreamReader(con.getErrorStream(), "UTF-8"));
}
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = br.readLine()) != null) {
response.append(inputLine);
}
br.close();
Gson gson = new Gson();
results = gson.fromJson(response.toString(), BlogsSearchResults.class);
} catch (Exception e) {
System.out.println(e);
}
///////////////////// 현제 안드로이드 공부하고있는 학생인데, android.os.NetworkOnMainThreadException 이 에러에 대해 thread를 사용한다고 해야하는데 정확히 이해가 안가서 설명 좀 부탁드립니다 ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
오류 내용 그대로 메인 스레드에서는 네트워크 통신을 구현할 수 없습니다. 이 부분을
AsyncTask
나 다른 스레드 방식을 사용하여 구현해야 합니다. 오류 문구를 구글에서 검색하면 여러 예제들이 나올 겁니다.-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력