안드로이드에서 서버와의 통신을 하기 위해서는 다양한 방법이 있지만 오늘은 Retrofit에 대해서 알아보겠다.
Retrofit이란?
Retrofit은 Square사에서 개발한 안드로이드용 HTTP 클라이언트 라이브러리로 간편한 인터페이스와 빌더 패턴을 사용하여 네트워크 요청을 처리하며, JSON, XML 등 다양한 형식의 응답을 쉽게 처리할 수 있다.
1. 의존성 추가
레트로핏을 사용하기 위해서는 우선 build.gradle파일에 의존성을추가해야한다.
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
끝의 버전은 최신 버전으로 맞게 쓰면 된다.
2. 인터페이스 생성
그 후 API요청을 담당하는 인터페이스를 생성한다.
public interface ApiService
{
@GET("posts/{id}")
Call<Post> getPost(@Path("id") int id);
}
3. 레트로핏 객체 생성
그 후에 레트로핏 객체를 생성한다.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("서버의 주소")
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
api = retrofit.create(API.class);
}
서버의 주소에는 서버와 통신을 하기위한 서버의 주소가 들어가야 한다.
4. API호출
이제 API를 호출하여 레트로핏을 사용할수있다.
Call<ResponseBody> call = RetrofitBuilder.getApi().getLinkResponse(link);
call.enqueue(new Callback<ResponseBody>()
이런식으로 호출하여 사용할수있다.
5.통신 성공시
만약 통신에 성공하여 서버로부터 응답 데이터를 받았다면
if (response.isSuccessful())
{
변수=response.body()
}
형식으로 받아온 데이터를 담을 수 있다.
오늘은 이렇게 레트로핏을 이용해서 안드로이드와 서버사이의 통신을 간편한 코드로 연결할 수 있다는 것을 알아보았다.
'IT관련 정보' 카테고리의 다른 글
네트워크 보안 프로토콜: IPSec, SSL/TLS, S-HTTP (0) | 2023.09.27 |
---|---|
객체지향 프로그래밍이란? (0) | 2023.09.20 |
간단하게 알아보는 디자인 패턴 (0) | 2023.09.16 |
lombok을 이용해 코드의 반복을 줄이고 생산성 높이기 (0) | 2023.09.14 |
JWT(Json Web Token)란? (0) | 2023.09.07 |