이 게시물은 다음 링크를 참조하여 학습했습니다.
이번 시간은 Network를 정리했다.
Network라는 개념은 '통신망'이라는 뜻인데, 내가 정리할 내용은 통신망 보다는 '통신'이라는 의미에서의 정리다.
Android Studio를 공부하면서 정리하는 이론중에 아마 새로 정리를 해야겠다고 느끼지 않는 한 마지막 정리가 될 것 같다.
항상 코딩을 목표로 여러가지 기능들을 새로 구현하기 위해 정리를 했었는데, 이번 정리의 목적은 한마디로 하자면 "OpenAPI 활용"이다.
Android 통신을 검색하면 서버/클라이언트 간의 TCP/IP 소켓 통신을 많이 찾아볼 수 있었는데,
내가 자료를 찾으면서 알고 싶은 것은 '웹 서버'와의 통신이였다.
자료를 찾으면서 RestAPI, HTTP, URI, JSON 등 들어보기는 했지만 자세히는 모르는 새로운 단어들이 엄청 많았고, 멘붕이 왔었다.
그러던 와중에 "얄팍한 코딩사전" 이라는 유튜브 채널이 많은 도움이 되었다.
이 게시물에서는 최종 목표인 "OpenAPI 활용" 을 위해 필요한 개념들을 정리하려 한다.
코딩에 필요한 클래스와 메서드들은 정리를 따로 해서 링크를 달 것이다:)
1. RestAPI
RestAPI는 취업준비를 하면서 본 여러 공고에서 자격요건이나 우대사항에 적혀 있는 것을 많이 보았다.
글을 쓰면서 생각해보니 정보처리기사 공부할때도 기출문제에 'REST'가 있었던것 같다.
RestAPI를 정리하기 전에, 아마 많은 사람들이 알고 있겠지만 이번 기회에 알게된 API에 대해서 정리를 해보려 한다.
1) API(Application Programming Interface)
API도 공부하면서 진짜 많이 들어봤는데, RestAPI를 공부하려 하면서 생각해보니 API가 뭔지도 몰랐었다.
API는 한 마디로 정리하면 "소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단"이다.
2) RestAPI(Representational State Transfer API)
Rest는 짧게 정의 하자면 서버에 요청을 통해 자료를 사용할 때의 "규약, 약속" 이라고 할 수 있다.
만약 혼자 모든 것을 개발한다면 어떻게 코딩을 해도 상관 없지만
여러 개발자들이 협업을 하거나, 내가 개발하던 자료를 후임자에게 인계할 때 나만 알아볼 수 있는 메서드를 사용한다면 개발에 혼란이 생길 것이다.
이를 방지하기 위한 것이 "REST"라는 개념이다.
RestAPI는 REST라는 개념을 기반으로 API를 구현한 것이다.
3) CRUD(Create Read Update Delete) Operation
서버의 Data를 처리하기 위해 Create(생성), Read(조회), Update(갱신), Delete(삭제) 기능을 사용하는데 이를 통틀어서 "CRUD"라고 한다.
4) Why REST?
REST의 장점은 크게 두 가지가 있다.
(1) 표준 규격인 HTTP를 사용한다.
(2) 직관적인 이해가 가능하다.
RestAPI를 활용하기 위해 필요한 추가 내용은 아래에 필요할 때마다 업데이트 할 것이다.
1) HttpURLConnection
2) Retrofit
'Legacy' 카테고리의 다른 글
[안드로이드 스튜디오 독학#27] 현재 날씨 어플 (3) | 2021.02.04 |
---|---|
[안드로이드 스튜디오 에러#1] XmlPullParser (0) | 2021.02.03 |
[안드로이드 스튜디오 정리#12] 비동기 프로그래밍 (0) | 2021.01.29 |
[안드로이드 스튜디오 독학#26] 색상 출력 어플 (0) | 2021.01.28 |
[안드로이드 스튜디오 독학#25] DatabaseExample (0) | 2021.01.28 |