OkHttp
Retrofit
OkHttp를 개선한 라이브러리
범용적으로 get/post를 편하게 사용 가능
JSON에 특화되어있음
Retrofit(squareup) - Gson(Google)
연결해주는 컨버터 필요 : converter-gson
Retrofit은 ai코더처럼 필요한 코드를 써주는 역할을 함
Retrofit 객체를 생성한 후 baseUrl과 addConverterFactory를 설정해야 합니다. 이후, 인터페이스를 설계하고, 이를 구현한 RetrofitService 인터페이스 객체를 생성해야 합니다. 그리고 추상메소드를 호출하여 Call 객체를 리턴받고, 이 객체에게 네트워크 작업을 수행하도록 요청해야 합니다.
⑴ Retirofit 객체를 만들 수 있는 Builder 객체 생성
⑵ builder에게 baseUrl, Converter 설정
⑶ Retrofit 객체 Builder에게 build()
원하는 통신방법으로 인터페이스 설계 - 일종의 작업요구서
어노테이션에 사용할 통신방법 (GET/POST)
Call - Retrofit이 써준 코드를 가지고 있음, 제네릭에 받을 결과
인터페이스는 직접 객체를 만들 수 없음 ①에서 만든 Retrofit 객체에게 ②에서 만든 인터페이스 클래스 정보를 주고 객체를 만들게 함
③에서 만든 추상메소드 객체를 통해 Call 객체 생성
enqueue로 네트워크 작업 대기 (콜백객체를 통해 알아서 응답하도록)
--> onResponse / onFailure
문자의 경우 편지를 보내는 것처럼 편지봉투에 보내지만
고등어를 편지봉투에 넣어보내지 않는 것처럼 새로 담아보낼곳이 필요
고등어를 택배로 보내려면 진공포장과 스티로폼 박스가 필요
Intent를 통해 이미지를 선택할 수 있는 Activity MediaStore.ACTION_PICK_IMAGES
실행
--> ActivityResultLauncher 필요