반응형
구글 달력이랑 거시기 해 볼려고 하다하다 보니 여기로 왔네..
각설하고.. 네트워크를 뭐시기 하려면 퍼미션이 있어야 한다.
이거 없으면 졸라게 코딩 해 놔도 아무짓도 안 한다.
<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 파서를 공부해 볼 필요가 있을 듯 하네.. ㅡ.ㅡ
for (;;){
String rLine = br.readLine();
if (line == null) break;
Log.i("@@", rLine);
}
br.close();
mResult = gHtml.toString();
}
conn.disconnect();
다 읽었으면 핸들러에다가 메시지를 보내고 나머지는 핸들러가 메인 화면에다가 뿌려주든지 말든지 하면 됨.
쓰래드는 메인 화면을 건드릴 수 없어서 핸들러에다가 거시기 한다고 함.
이거슨 기초 작업이고.. 구글 API 가져다 쓸라믄 XML 파서를 공부해 볼 필요가 있을 듯 하네.. ㅡ.ㅡ
반응형
댓글