본문 바로가기
Development/Android

[안드로이드] HttpGet 사용하기

by 푸민 2015. 8. 27.
반응형



안녕하세요 푸민입니다.

안드로이드에서 네트워크 연결 시 사용하는 HttpGet 클래스를 볼까요.

 

org.apache.http 패키지에 네트워크 관련 클래스들이 있습니.


먼저 import 후 HttpGet 객체를 생성합니다.

 

HttpGet get = new HttpGet(url);

 

파라미터로 url 을 넘겨 주구요.

 

그냥 바로 연결 해도 되지만 각종 설정을 하고 싶다면

 

HttpParams httpParameters = new BasicHttpParams();// http설정

int timeoutConnection = 10000;// 타임아웃 10초

HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection);// 설정

int timeoutSocket = 5000;// 소켓 5초

HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);// 설정

DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);// 파라미터 설정

 

먼저 HttpParams 객체를 생성 후 HttpConnectionParams.setConnectionTimeout()을 이용하여 연결 타임아웃을 설정합니다.

똑같은 방식으로 소켓 타임아웃 또한 설정할 수 있습니다.

그리고 설정 후에 DefaultHttpClient 객체를 생성하면서 인자로 설정한 httpParameters를 넘겨줍니다.

 

HttpResponse response;// 응답객체 정의

try {

response = httpClient.execute(post);// 웹 익스큐트 및 응답 받기

HttpEntity entity = response.getEntity();// 엔티티로 응답 값 받기

if (entity != null) {

// 접속됨

} else {

// 접속은 되고 정보는 못불러옴

}

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

 

HttpResponse 객체를 만들어 결과값을 받을 준비를 먼저하구요. 

그리고 나서 httpClient.execute(get); 을 통해 response 에 받습니다. 

그 뒤에는 엔티티로 받아서 처리를 하면 됩니다.

반응형

댓글