코린이 탈출기
chapter 13.1 - API 통신 본문
API (Application Programming Interface) - 응용 프로그램에서 데이터를 주고받기 위한 방법입니다. 네트워크(웹) 통신입니다.
서버와 클라이언트 간의 데이터 송수신입니다.
서버는 요청을 처리해주는 사람이고, 클라이언트는 요청을 의뢰하는 사람입니다. 앱은 일종의 클라이언트로써의 역할에 해당합니다.
안드로이드 앱은 DB에 접근을 허가해주지 않는 경우가 대부분입니다.
DB에 접근은 API 서버가 전담을 하고, 앱에서는 서버에 원하는 정보를 요청을 하면 API가 요청을 받아서 응답을 화면에 반영해주는 방식입니다.
안드로이드 개발의 실무를 간단하게 보면 1) 화면 구현과 기초 이벤트 처리를 한 후 2) 각 화면에 API 서버를 호출하여 요청을 하면 3) API 서버가 알려주는 응답을 분석하여 4) 화면에 데이터를 반영하거나 토스트 처리 등을 합니다.
Restful API - 서버에서 제공하는 기능들을 주소 + 메서드의 조합으로 구별하는 API입니다.
예를 들면, 회원 가입은 PUT + /user , 로그인은 POST + /user이라 표현하는 경우입니다.
자주 사용하는 메서드의 종류를 알아보겠습니다.
GET - 데이터 조회 기능으로 사용합니다.
예를 들면, 게시글 목록을 조회하거나 게시글의 댓글 목록을 조회하는 용도 등이 있습니다.
POST - 데이터를 추가로 기록하는 기능으로 사용합니다.
예를 들면, 게시글을 작성하거나 댓글을 등록하는 용도 등이 있습니다. 예외 사항으로는 로그인이 있습니다.
PUT / PATCH - 데이터 수정 기능으로 사용합니다. 둘의 차이가 조금 있습니다.
예를 들면, 게시글 내용 수정이나 댓글 수정, 프로필 변경 등이 있습니다. 예외 사항으로는 회원가입(PUT)이 있습니다.
DELETE - 데이터를 삭제하는 기능으로 사용합니다.
예를 들면, 게시글 삭제, 댓글 삭제, 회원 탈퇴 등이 있습니다.
로그인 기능을 예시로 작업 프로세스를 알아보겠습니다.
화면 구현 및 이벤트 처리를 합니다. xml에 로그인 화면을 만들고 로그인 버튼을 누르면 아이디와 비밀번호에 뭐라고 입력했는지 알아냅니다.
API 서버를 호출하여 (서버에 요청 - Request) 받아 놓은 아이디와 비밀번호를 가지고 API 서버의 기능 중에서 해당하는 주소와 메서드로 전달하여 아이디와 비밀번호가 맞는 회원이 있는지 탐색합니다.
API 서버에서 수행한 결과를 분석하여 (서버의 응답 - Response) JSON 양식으로 응답을 Parsing(분석)합니다.
분석이 끝난 결과를 기반으로 UI에 반영하여 상황에 따른 알고리즘을 작성하면 됩니다.
이러한 API 통신을 직접 만드는 것은 어렵기 때문에 다음 글을 통해 라이브러리로 이용하는 방법을 알아보겠습니다.
'인터넷 강의 > 클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기' 카테고리의 다른 글
| chapter 13.4 - JSON 활용 (0) | 2021.06.22 |
|---|---|
| chapter 13.2 - OkHttp (0) | 2021.06.18 |
| chapter 12.1 - BaseActivity (0) | 2021.06.15 |
| chapter 11.8 - 안드로이드의 권한 설정 - TedPermission 활용 (0) | 2021.06.15 |
| chapter 11.7 - https vs http - 안드로이드 보안 처리 (0) | 2021.06.14 |