우선 통신하려면 당연히 안드로이드 매니페스트에는 인터넷 사용요구를
정의해야 한다. 좀 더 외국스럽게 말하자면 시스템에 퍼미션을 요청해야한다는 뜻
<uses-permission android:name="android.permission.INTERNET />
이라고 <application>태그 위에 두면, 시스템에서 아, 이녀석이 인터넷을
사용하려는구나 알았어 허가해 줄게 하면서 인터넷을 쓰게 해준다.
그 다음으론 이제 실제로 인터넷 주소를 불러오는 일이 필요하다.
사용하는 방법은 URL을 이용하던 http를 이용하던 무관하지만, 좀 더 있어보이게
HttpPost를 이용하려 한다.
// 이 친구는 인터넷 주소를 알아와서 post방식으로 값을 보낸다는 뜻이다.
HttpPost post = new HttpPost("http://175.210.155.212:8080/diary_server/hello.jsp");
// 이건 내가 클라이언트고, 그 클라이언트에서 행할 일을 선언할 때 쓰는데 사실 execute가 가장 중요하다.
DefaultHttpClient client = new DefaultHttpClient();
// 자. 우리가 우리는 post의 값을 수행하면서 바로 값을 가져오길 대기한다.
HttpResponse response = client.execute(post);
// 사실 값을 보내기만 할 것이라면
client.execute(post); // 라고만 써도 된다.
그럼 값을 받을 땐 어떻게 해야할까?
그 땐 버퍼클래스를 이용하게 된다.
BufferedReader bufreader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "utf-8"));
// 소스를 잘 보면 reponse 인스턴스를 이용해서 getEntity()와 getContent()를 가져오는데, 이 동작이 바로 값을 가져오는
// 행위이다. 이렇게만 해주면 값을 알아서 받아온다. 옆에 소심하게 "utf-8"이라고 정의된 친구는
// 이 값을 어떤 인코딩 방식으로 받아올 것인지를 의미한다. JSP가 utf-8 으로 값을 보내면 거기에 맞게, euc-kr로 보내면
// 또 거기에 맞게 설정해주면 된다.
이제 톰캣은 어떻게 정의되야 하는지 알아보자.
톰캣은 당연히 유동아이피가 아니여야하고, 외부접근이 허용된 곳이어야한다. 고로, 집에서
직접 선 꼽고 사용할 수 있는 환경이 최고다. 나 처럼 학교에서 해보려다 3일을 버리지 말고
전기세 나가도 꼭 집에서 하길...
어쨌든 톰캣을 켜두고, 로컬 폴더에 JSP 파일을 넣어주면 되는데, JSP파일은
HTML 설정은 일체 하지말고 단순히 <% %>를 이용해서 정의해주고 보낼 부분은 out.println이나
<%= %>를 이용하면 된다.
이것 처럼
DB 연결 부분은 필요한 사람은 보면 되겠고, 중요한건 단순히 스트릿트와 디스트립트로 이루어진다는 것이다.
이 것만 말면 충분히 잘 연결할 수 있으리라.