[안드로이드] HttpGet 사용하기
안녕하세요 푸민입니다.
안드로이드에서 네트워크 연결 시 사용하는 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 에 받습니다.
그 뒤에는 엔티티로 받아서 처리를 하면 됩니다.