본문 바로가기

Programming/Android

[Android] HTTP 통신 기초

반응형
http 프로토콜을 이용하여 통신을 하는 예제입니다.

주소에 해당되는 문서의 내용을 받아옵니다. 

여기서는 그냥 일반 html 문서서를 가져 오도록 해보았습니다.  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Test extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        TextView text = (TextView)findViewById(R.id.htmlText);
        
        URL url = null;
        
		try {
			url = new URL("http://family7914.cafe24.com");
        	HttpURLConnection http = (HttpURLConnection)url.openConnection();
        	BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream()));
        	StringBuffer buffer = new StringBuffer();
        	
        	int c;
        	
        	while((c=in.read()) != -1){
        		buffer.append((char)c);
        	}
        	
        	text.setText(buffer);
        	
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
    }
}

 

코드를 실행해보면 위와 같은 결과가 나옵니다.

만약 결과가 나오지 않거나 오류가 발생한다면... 
처음으로 생각해 볼수 있는 것이 Manifest의 Permission 입니다. 
이건 우리가 어떤 기능을 사용할 것이다 라고 미리 알려주는 것입니다. 
그래야만 사용할 수 있거든요~
두번째는 제가 어리석어서 생긴 경우인데...
실행을 할 경우 문서의 용량이 크면 로딩이 길게 되어있습니다. 
그리고 그전에 디버깅을 위한 메세지가 뜨는데 그것을 그냥 오류로 생각해 버리는겁니다.
그러므로 메세지를 잘 확인하세요~ ^^;
반응형

'Programming > Android' 카테고리의 다른 글

[Android] 에뮬레이터 실행 화면  (0) 2010.02.25
[Android] Activity 전환  (0) 2010.02.18
[Android] Slidingdrawer (2) - horizontal  (0) 2010.02.15
[Android] Slidingdrawer (1) - vertical  (0) 2010.02.15
[Android] 오류메세지  (0) 2010.02.15