본문 바로가기

안드로이드/Network

(4)
Retrofit Retrofit은 OkHttp 기반의 라이브러리로 OkHttp보다 간편하게 사용할 수 있고, 가독성 높은 구조로 네트워크 통신을 가능하게 해준다. 특징API 인터페이스 : 요청과 응답을 인터페이스로 쉽게 구현할 수 있다.어노테이션 : HTTP Method와 Header 등 다양한 작업을 어노테이션으로 정의할 수 있다.비동기 처리 : Call 객체 및 Coroutine, RxJava와 같이 비동기 처리 가능직렬화/역직렬화 : Converter Factory 등록으로 데이터를 JSON으로 직렬화 및 역직렬화를 손쉽게 변환할 수 있다.OkHttp Interceptor 추가 작업 다른 HTTP 라이브러리에 비해 속도가 빠르다. 1️⃣ Retrofit Builderclass RetrofitManager { ..
OkHttp HTTP 클라이언트 라이브러리로, HTTP 요청, 응답, 캐싱, 커넥션 풀과 같은 저수준 작업을 처리한다. OkHttp는 Android 5.0 (API 21) 이상 및 JAVA 8 이상에서 동작하며, Okio와 Kotlin 표준 라이브러리를 사용한다. 특징HTTP/2의 경우 동일한 호스트에 대한 모든 요청이 동일한 소켓을 공유할 수 있다.Connection Pooling: 요청마다 새로 연결하지 않고 Connection Pool 기능을 이용하여 동일한 URL의 연결을 Pooling하여 재사용한다. (HTTP/2가 아닌 경우)Transparent GZIP: 응답 데이터를 압축하여 네트워크 트래픽을 줄여준다.서버에 압축된 콘텐츠를 허용한다는 Accept-Encoding: gzip 를 헤더에 담아보내면 서버에..
HttpUrlConnection Http 네트워크 통신의 가장 기본이 되는 HttpUrlConnection은 Java에서 제공하는 클래스로, HTTP 통신에 필요한 메서드들을 제공한다. 네트워크 작업할 땐 Retrofit, Okhttp 등을 사용하기 때문에 직접적으로 HttpUrlConnection을 사용할 일은 매우 적겠지만 어떻게 사용하는지 간단하게 알아보자. 1. URL 연결val url = URI(URL).toURL()val httpUrlConnection = url.openConnection() as HttpURLConnectionhttpUrlConnection.apply { connectTimeout = 5000 requestMethod = "GET" doInput = true}URL.openConnectio..
[안드로이드] 서버 통신 Retrofit2 Retrofit은 OkHttp 기반으로 만들어진 Http 통신 라이브러리다. OkHttp 란? OkHttp는 효율적인 Http 클라이언트이다. HTTP/2 지원을 통해 동일한 호스트에 대한 모든 요청이 소켓을 공유할 수 있다. 연결 풀링은 요청 대기 시간을 줄인다.(HTTP/2를 사용할 수 없는 경우) Transparent GZIP는 다운로드 크기를 줄인다. 응답 캐싱은 반복적인 요청으로부터 네트워크를 완전히 피한다. 자세한 내용은 아래 링크를 참조 바랍니다. https://square.github.io/okhttp/ Overview - OkHttp OkHttp HTTP is the way modern applications network. It’s how we exchange data & media. ..