안드로이드는 HttpURLConnection 과 Apache HttpClient, 이 두가지 HTTP 클라이언트를 사용한다.
진저브레이드 이상의 버전은 HttpURLConnection을 추천한다. HttpClient 에는 버그도 존재한다고 하는데, 자세한 내용은 Android's HTTP Clients 를 참조하기 바란다.
HttpURLConnection 사용예
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
inputSream = conn.getInputStream();
통신을 위해서 AsyncTask 를 활용하면 좋을 것 같다. 별도의 스레드와 핸들러를 구현하지 않아도, 백그라운드에서 통신을 수행할 수 있도록 해준다. 추상클래스라서 아래와 같이 활용하면 될것이다.
private class DownloadTask extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... urls) {
try{
//여기서 HttpURLConnection 사용
return "success";
}catch(IOException e){
return e.printStackTrace();
}
}
@Override
protected void onPostExecute(String result){
// 통신완료 후 실행할 사항 여기서 구현
}
}
통신 시작은
new DownloadTask().execute(URL);
[참조] http://developer.android.com/training/basics/network-ops/connecting.html
'android tech.' 카테고리의 다른 글
string 검색 (0) | 2014.04.29 |
---|---|
어플 이름 최대 글자 수 (0) | 2014.03.11 |
YUV (0) | 2014.03.04 |
View 사이즈 측정을 위해 ViewTreeObserver 사용 (0) | 2014.03.03 |
안드로이드 네트워크 연결 상태 체크 (0) | 2013.07.23 |