코린이 탈출기
chapter 13.2 - OkHttp 본문
OkHttp - 안드로이드 앱이 클라이언트로써의 역할을 수행하기 편하도록 도와주는 라이브러리입니다.
API 서버를 직접 코딩하기에는 너무 복잡하고 어렵기 때문에 라이브러리를 활용합니다.
예를 들면, 네트워크 통신 과정에서 오래 걸리는 것은 별개의 스레드가 실행해서 백그라운드로 따로 빼서 작업하는 것을 도와줍니다.
즉, 요청(Request)을 쉽게 처리할 수 있게 해 줍니다.
OkHttp는 JSON을 직접 다뤄보기 위해 선택한 라이브러리입니다. 실무에서는 사용하지 않습니다.
실무에서는 Retrofit +GSON 라이브러리를 조합해서 사용합니다.
OkHttp를 먼저 설명하는 이유는 OkHttp가 훨씬 어렵지만, 직접 파싱을 통해서 데이터의 원리를 알아보기 위해서입니다.
Retrofit의 경우에는 OkHttp의 기능에 자동화를 부여하여 사용하기는 편리하지만, 너무 많은 것들이 자동화되어있어 데이터 원리를 알아보기 어렵기 때문입니다.
라이브러리를 이용하는 방법에 대해 알아보겠습니다.

구글에 원하는 키워드만 검색합니다.
https://square.github.io/okhttp/
라이브러리를 활용하는 것은 이전 글을 통해 자세하게 설명되어있습니다.
2021.06.14 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 11.1 - 라이브러리
라이브러리 활용을 위해 라이센스를 확인합니다.

설치하는 방법을 보겠습니다.


Gradle Scripts > build.gradle(Module:~) > dependencies 적어줍니다.
주석(//)은 제외하고 총 3줄을 적어줍니다.
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.0"))
implementation("com.squareup.okhttp3:okhttp")
implementation("com.squareup.okhttp3:logging-interceptor")
작성 후 sync now 눌러줍니다.
API 서버는 인터넷 통신을 통해 데이터를 전달받는 것으로 인터넷 권한을 추가합니다.

Manifests로 가서 작성해줍니다.
<uses-permission android:name="android.permission.INTERNET"/>
인터넷 권한을 추가하는 것으로 5번 줄의 파란 상자에 해당합니다.
만약 API 서버를 통신할 사이트가 http일 경우(https가 아니어서 보안에 취약한 사이트) 11번 줄과 같이 임시적으로 허용한다는 코드를 작성하면 됩니다.
'인터넷 강의 > 클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기' 카테고리의 다른 글
| chapter 13.5 - Postman (0) | 2021.06.22 |
|---|---|
| chapter 13.4 - JSON 활용 (0) | 2021.06.22 |
| chapter 13.1 - API 통신 (1) | 2021.06.18 |
| chapter 12.1 - BaseActivity (0) | 2021.06.15 |
| chapter 11.8 - 안드로이드의 권한 설정 - TedPermission 활용 (0) | 2021.06.15 |