상세 컨텐츠

본문 제목

[TIP]간단한 HTTP 호출 쓰레드

프로그램개발/안드로이드

by fsteam 2011. 10. 4. 15:10

본문

근래의 서버-클라이언트 환경은 대부분 HTTP 통신이 아닐까? 물론 아직 소켓통신도 많이 쓰이지만..
간단하게 HTTP 호출하고 결과값을 받는 기능을 쓰레드로 구현해 보자..
쓰레드로 구현했을 경우 메인프로그램의 동작에 영향을 주지 않으면서 백그라운드(?) 개념으로
웹서버의 정보를 가져올수 있다.
이 예제에서는 HTTP 통신으로 가져온 데이터를 preference에 저장하도록 하였다.
(단순하게 readLine() 으로 한줄만을 가져오며.. 데이터가 많은 경우 맞게 처리하자.)

Activity 내부에 아래와 같은 클래스를 선언하고...

    private class GetHTTPThread extends Thread{
    public void run() {
    String strResult = "";
        try{
            URLConnection urlConn = new URL("http://서버주소").openConnection();
            urlConn.setConnectTimeout(5000); // 타임아웃 지정
            urlConn.connect();
                InputStream in = new BufferedInputStream(urlConn.getInputStream());
                InputStreamReader inReader = new InputStreamReader(in);
                BufferedReader buffReader = new BufferedReader(inReader);
       strResult = buffReader.readLine();
       buffReader.close();
       inReader.close();
                in.close();
        }catch(Exception e){
            Log.e("intro", "Exception : GetADThread()");
        }
        getSharedPreferences("TEST", MODE_PRIVATE).edit().putString("result", strResult).commit();
    }
    } 

 다음과 같이 호출해서 사용하자..

GetHTTPThread trd1 = new GetHTTPThread ();
trd1.start(); 

'프로그램개발 > 안드로이드' 카테고리의 다른 글

[TIP]브라우저에서 URL 클릭시 앱 실행  (0) 2012.06.12
[TIP]애니메이션 구현  (0) 2011.10.04
[TIP]잠금화면 해제하기  (0) 2011.10.04
[TIP]전체화면 모드  (0) 2011.10.04
Android 게임강좌링크  (0) 2011.09.21

관련글 더보기