소켓이라고 하는 것을 사용하면,

인터넷을 통해서 서버로 연결을 만들고,

요청 데이터를 보내거나,

응답으로 온 데이터를 받아서,

처리를 할 수 있습니다.

 

이 소켓 위에서 

"헤더"를 붙여서 어떤 데이터가 왔다갔다 하는지를 좀더 쉽게 다룰 수 있도록 만든게 HTTP 입니다.

 

보통 웹이라고 하는 것을 사용을 할려면, 먼저 "웹서버"를 만들어야 합니다.

 

나중에는, 내가 직접 "웹서버"를 만들 수 있겠지만, 여기서는 "영화API"에 접속해서 요청을 하고, 응답을 받을 겁니다.

안드로이드에서는 "웹서버"에 요청을 보낼 때, 좀 더 쉽고, 단순한 코드를 사용 할 수 있도록, Volley라는 라이브러리를 많이 사용합니다.

 

 

인터넷에서 데이터를 주고 받으려면, 스레드를 반드시 사용하도록 되어있어서,

스레드와 핸들러를 충분히 이해를 하고, 사용할 수 있어야 하지만,

Volley를 사용하면 그 안에서 처리를 하니깐, 직접 스레드를 다루지 않아도 됩니다.

 

 

 

 

응답을 JSON포맷으로 받으면, Gson이라는 라이브러리를 이용해서, "자바객체"로 쉽게 바꾸어 줄 수 있습니다.

응답을 "자바객체"로 만들면, 그 안에 들어 있는 데이터를   꺼내서 쓰는게, 아주 쉬워 집니다.

 

 

응답으로 받은 영화 데이터는 "영화 목록"과 영화 상세 화면에 표시해 줄 수 있습니다.

 

 

TextView에 데이터를 표시할려면, 소스코드에서 setText메소드를 호출해야 한다거나,

ImageView에 ImageView를 보여주기 위해서는 setImageUri() 같은 메소드를 호출해야 한다는 거 이미 알고 있습니다.

일딴,

영화API에서 제공하는 응답 결과물에 JSON포맷에 들어 가 있는 데이터의 형태와 값을 확인해 봅니다.

그래야, 그중에 "어떤 데이터"를 "어떤 화면"에 넣어 줄지를 이해할 수가 있습니다.

 

 

그리고 , ★

응답 데이터에는 이미지파일을 직접 넣어주지 않습니다.

이미지파일이 올라가 있는 주소만 알려줍니다.

그러면, 그 주소를 이용해서 , 파일을 다운로드 받은 뒤에 보여 주시면 됩니다.

 

 

자, 이제 "영화API"로 받은 영화 정보를 화면에 한번 표시해 볼까요?~!!!!~~!~!!~~!~!!!!