본문 바로가기
TechNical/Android

Android] 웹문서를 땡겨 오자.

by 강멍멍이 2011. 10. 23.
반응형

구글 달력이랑 거시기 해 볼려고 하다하다 보니 여기로 왔네..
각설하고.. 네트워크를 뭐시기 하려면 퍼미션이 있어야 한다.
이거 없으면 졸라게 코딩 해 놔도 아무짓도 안 한다.

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

매니페스트 파일에 요거를 한 줄 넣어줘야 한다. 이거 안 해 주고 왜 안 될까 골머리를... -_-
권한때문에 종종 난감한 상황에 부딪히는거 같다. 좀 특별한 기능을 구현하려는데 뭐 안 되면 일단 권한부터 보자.

동기화 방식으로 하면 html 파일 다 땡겨 올때까지 기다려야 하고
쓰래드로 구현하면 너는 뒤에서 돌아라 난 앞에서 딴거 하련다가 가능하다.

html 의 양을 가늠할 수 없으므로 스트링 빌더를 써 주는게 정신건강에 유익하다고 한다.

strUrl = "http://keizwer.tistory.com";
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();

이렇게 객체를 만들어 놓고...
연결이 OK되면은 다음으로 진행.
버퍼에다가 담아 놓고 한줄씩 읽어 들이자.

얘는 void run() 에서 돌리면 된다. 쓰레드니까.

if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
 BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      for (;;){
          String rLine = br.readLine();
          if (line == null) break;
          Log.i("@@", rLine);
       }
  br.close();
  mResult = gHtml.toString();
 }
conn.disconnect();

다 읽었으면 핸들러에다가 메시지를 보내고 나머지는 핸들러가 메인 화면에다가 뿌려주든지 말든지 하면 됨.
쓰래드는 메인 화면을 건드릴 수 없어서 핸들러에다가 거시기 한다고 함.

이거슨 기초 작업이고.. 구글 API 가져다 쓸라믄 XML 파서를 공부해 볼 필요가 있을 듯 하네.. ㅡ.ㅡ
반응형

댓글