반응형

 초안작성 : 2013/01/14 14:19

 1차 수정 : 2013/07/16


 오늘 하루를 이 개념을 이해하는데 꼬박 보냈다.

 제대로 이론 공부를 이행하지 않고 한 덕분이다. 블로그들을 뺀질나게 돌아다니며

시부렁시부렁 거리며 예제를 찾아봐야 역시 이론이 없다면 실용은 허공에 삽질하는 것이나

다름 없음을 몸(진짜 몸)과 시간으로 느꼈다. 이상하게 이론을 공부하면 시간에 대한 촉박함을

느끼는데 정말 안좋은 습관임에 틀림없다.


 각설하고 



 그래서 내가 그렇게 고생해서 얻은 교훈은 무엇인가를 살펴보자.

 

 이 글을 처음 쓸 당시 많이 헤매고 다녔던 일이 생각납니다.


 제대로 이론 공부를 이행하지 않고 한 덕분인데요... 좋은 글을 올려주신 블로거님들의 글을 

들여다봐도 모르겠어서 궁시렁 거리며 예제를 찾아봤지만, 이론을 공부해야겠다는 결론을 얻고

이론적으로 조금은 살펴보고자 글을 작성하게 되었습니다. 


 안드로이드에서 웹서버와 통신할 때 사용되는 것에 대해서 조금이나마 도움이 되셨으면 합니다.



 지금 보시는 것의 실전에 대한 내용은 아래 주소를 참고하시기 바랍니다.


안드로이드에서 JSON을 이용해 서버와 데이터 주고 받기

 





 첫째. 웹 서버와 안드로이드

 



  <웹 서버란?>


 웹 서버란 웹을 통해서 접근하는 즉, http와 같은 통신환경을 통해서 접근하는 서버를 의미합니다.

좀 더 쉽게 이야기하면, 우리가 인터넷을 써서 '다음'이나 '여러 홈페이지'들에 접근하는 것은 사실 

상대방의 웹 서버에 접근하는 것과 같은 겁니다. 단지 우리는 인식을 못할 뿐이죠.



 < 안드로이드가 웹서버를 사용하는 이유>

 그렇다면 왜 안드로이드에서는 이런 웹 서버를 사용해야할까요? 그 이유는 안드로이드는 TCP/IP 통신보다

http, 즉 웹을 통한 통신에 더욱 특화 되었기 때문입니다. 그래서 데이터베이스의 특성상 보안, 신뢰성을 이유로

IP 통신으로 원격 접속을 허용하는 데, 안드로이드는 웹을 통해 접근하고자 하기 때문에 문제가 생기죠.


 아주 쉽게 말해서 안드로이드라는 친구가 DB라는 친구에게 편지를 보내고 받고 싶은데 걸어가서 전해주는 

방법보다는 누군가에게 맡겨서 주고 받는게 편하니까 우체부과 같은 웹 서버에게 도움을 요청하는 겁니다.


 


 위에 그림을 보면 조금더 이해가 가실 겁니다. 

 안드로이드가 웹서버에 요청하는 것은 크게 두 가지 이유입니다.


 첫째는 데이터를 저장하고 싶을 때 이용하거나, 둘째는 저장한 데이터를 불러오고 싶을 때 입니다.


 저장하고 싶을 때에는 데이터를 웹 서버에 전달하고, 웹 서버에서는 전달 받은 데이터를 데이터베이스에 저장한 뒤 

결과를 알려줍니다.


 불러오고 싶을 때에는 웹 서버에 이런 데이터를 보내달라 요청을 하고 데이터베이스에서 데이터를 받아와 잘 모은 뒤

JSON이나 XML을 통해 데이터를 전달하게 됩니다. 



 여기서 JSON이나 XML의 필요성이 나타나게 되는게 다음 내용은 아래에서 다뤄보겠습니다.












 둘째. JSP의 이해





 < JSP의 역활 >


 JSP는 안드로이드가 저장/불러오기를 요청했을 때 기능을 수행하는 친구입니다. 그래서 이름도 Java Server Pages 이죠.

 위에서 보았던 그림을 다시한번 보면서 JSP의 필요성을 이야기 해보겠습니다.


 


 위의 그림을 보면 웹 서버를 설치해놓으면 마법 처럼 모든 일을 할 것처럼 보입니다. 

 하지만, 사실은 우리가 직접 안드로이드에서 요청 받은 내용을 처리하는 구문을 정의 해야만 합니다.

그러한 구문을 정의하는데에 JSP를 사용하는 것입니다.

 



 < JSP의 수행 >


 

 JSP는 위에 내용으로 마치도록하겠습니다. 좀 더 JSP에 대해 알고 싶고, 활용하고 싶으시면 반드시 입문서적을 통해서

도전해보시기 바랍니다.


 그리고, 웬만해서는 하나의 JSP에 하나의 기능을 두는 것을 추천드립니다. 그래야 유지보수도 쉬워지고, 자바코드를 수정하는데에도

애를 먹지 않아요. 

















 셋째. JSON, XML 파서의 이해





 < JSON, XML 으로 데이터 주고 받기 >

 JSON의 형식은 다음과 같고


{"customers": [

{"name":"홍길동", "address":"서울"},

{"name":"성춘향", "address":"서울"},

{"name":"김연아", "address":"서울"}

]}






 XML의 형식은 다음과 같습니다. 


<?xml version="1.0" encoding="utf-8"?>

<customers>

<customer>

<name>홍길동</name>

<address>서울</address>

</customer>

<customer>

<name>홍길동</name>

<address>서울</address>

</customer>

<customer>

<name>홍길동</name>

<address>서울</address>

</customer>

</customers>


 XML은 단지 파서의 기능이 다른 것일 뿐이다.


 이 부분은 여기서 다루기에는 조금은 분량이 많습니다. 

 XML만 가지고도 1000페이지의 책을 거뜬 쓰니까요. 물론 활용하는데에는 살짝만 써보면

이해가 되실겁니다. JSON에 대한 내용은 제가 정리한 적이 있어서 다음 페이지를 참고하시면 

될 것 같습니다.


안드로이드에서 JSON을 이용해 서버와 데이터 주고 받기


반응형

'Android' 카테고리의 다른 글

안드로이드 색상표  (0) 2013.01.26
JSP에서 DB 연결 방법  (0) 2013.01.14
액티비티 이동  (0) 2013.01.14
화면 고정하기  (0) 2013.01.14
비트맵Bitmap을 이용한 썸네일/축소와 회전  (0) 2013.01.14

WRITTEN BY
데르벨준

,