https://github.com/square/retrofit
https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-gson
https://mvnrepository.com/artifact/com.squareup.okhttp3/logging-interceptor
자세한 설명은 위 링크를 참조하고
- implementation("com.squareup.retrofit2:retrofit:2.11.0")
- implementation("com.squareup.retrofit2:converter-gson:2.11.0")
- implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
사용하기위해 위의 문구를 그래들에 넣어주자
우선 레트로핏은 네트워크 통신을 위한 라이브러리,
컨버터GSON은 JSON을 클래스로 변환해주는 라이브러리
로깅 인터셉터는 LOG를 확인 할 수 있게 해주는 라이브러리이다
그리고 이것들을 사용하기 위해 아래의 화면처럼
api 패키지를 생성후
NetworkClient 자바클래스를 생성하여
아래문구를 넣어주자
public static Retrofit retrofit;
public static Retrofit getRetrofitClient(Context context){
if(retrofit == null){
// 통신 로그 확인할때 필요한 코드
HttpLoggingInterceptor loggingInterceptor =
new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
// 네트워크 연결관련 코드
OkHttpClient httpClient = new OkHttpClient.Builder()
.connectTimeout(1, TimeUnit.MINUTES)
.readTimeout(1, TimeUnit.MINUTES)
.writeTimeout(1, TimeUnit.MINUTES)
.addInterceptor(loggingInterceptor)
.build();
// 네트워크로 데이터를 보내고 받는
// 레트로핏 라이브러리 관련 코드
retrofit = new Retrofit.Builder()
.baseUrl(Config.DOMAIN)
.client(httpClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
코드 에서
(HttpLoggingInterceptor.Level.BODY)
이 부분은
BODY의 JSON을
로그로 보기 위함이며
아래 화면과 같이
헤더의 정보도 볼 수 있다
NONE으로 설정하면 로그가 찍히지 않는다
그리고 하드코딩을 방지하기 위해
컨픽 패키지를 생성하여
컨픽 클래스를 생성
위와 같이 링크를 담아 사용하도록 하자
'Java > AndroidStudio' 카테고리의 다른 글
Android - 로딩 함수 (0) | 2024.06.14 |
---|---|
Android - Retrofit2 라이브러리 이용 POST API 호출 (0) | 2024.06.13 |
Android - Serializable과 Parcelable (0) | 2024.06.12 |
Android - 유튜브검색 어플/ 클릭시 유튜브이동, 무한스크롤뷰 (1) | 2024.06.12 |
Android - Intent 함수 (0) | 2024.06.11 |