반응형

안드로이드 네트워킹 API를 사용해서 네트워킹을 지원해 보도록할까요?
Java를 해보신 분이라면 한 번쯤 보셨을 java.net 패키지가 사용됩니다.

가장 흔히 쓰이는 HTTP를 위주로 진행해 보겠습니다.
참고로 HTTP로는 대부분의 자료를 캡슐화 할 수 있고 SSL을 적용함으로써 보안 통신을 수행할 수도 있습니다.


■ 웹(Web)에서 자료 읽기!

  웹에서 자료를 읽어 오는 것은 비교적 간단합니다.
  읽고자하는 웹 페이지의 URL을 알기만 하면 java.net 패키지의 URL 클래스를 사용해서 원하는 자료를 읽어 올 수 있습니다.

import java.io.InputStream;
import java.net.URL;

//...

try {
URL url = new URL("http://kkoseul.tistory.com/entry/2011080101");

InputStream isText = url.openStream();
byte[] bText = new byte[250];
int readSize = isText.read(bText);
Log.i("Net", "readSize = " + readSize);
Log.i("Net", "bText = " + new String(bText));
isText.close();
}catch(Exception e){
Log.e("Net", "네트워크 에러가..났습니다...", e);
}

 
읽어올 자료의 URL을 URL객체로 생성합니다. 그다음 URL에 대한  입력 스트림을 열고 자료를 읽으면 됩니다.
  위 코드의 경우는 250byte 만큼만 자료를 읽은 후 스트림을 닫습니다.

  네트워크 상의 자원을 이용할 때에는 통신망의 상태나, 자원이 있는 서버의 상태에 따라 오류가 날 수 있으므로 이 점을 알고 있어야하며 또 URL이 잘 못 되는 경우도 있으니 주의가 필요합니다. (try-catch문을 쓰는 이유가 이것?^^)
  
  그리고 중요한 한 가지! 
  안드로이드 응용프로그램이 네트워크 기능을 사용하려면 적절한 권한이 필요합니다.
  AndroidManifest.xml 파일의 <manifest>요소 하위에 <uses-permission>요소를 추가합니다.

<uses-permission android:name="android.permission.INTERNET"/>

 
  추가하지 않으면..여러분도 저와 같은 메시지를 보게 되실겁니다 ㅠ_ㅠ

 
  위의 한 줄을 추가하니 기분 좋은 로그가 보이는 군요^ㅁ^ 여기까지가 웹에서 자료를 읽어오기 였습니다!  


다음 포스트에서는 HttpURLConnection 클래스를 사용해서 자료에 대한 정보를 가져와 보도록 하겠습니다!!
반응형

+ Recent posts