통신용 라이브러리

Hue·2023년 3월 15일
0

Android/Kotlin

목록 보기
23/42

📞 통신용 라이브러리

  • OkHttp

  • Retrofit
    OkHttp를 개선한 라이브러리
    범용적으로 get/post를 편하게 사용 가능
    JSON에 특화되어있음
    Retrofit(squareup) - Gson(Google)
    연결해주는 컨버터 필요 : converter-gson

  • Volley
    Google에서 제공하는 라이브러리
    (Google이 Volley 서비스를 중단했다가 다시 재개...)

👤 Retrofit

Retrofit은 ai코더처럼 필요한 코드를 써주는 역할을 함

Retrofit 객체를 생성한 후 baseUrl과 addConverterFactory를 설정해야 합니다. 이후, 인터페이스를 설계하고, 이를 구현한 RetrofitService 인터페이스 객체를 생성해야 합니다. 그리고 추상메소드를 호출하여 Call 객체를 리턴받고, 이 객체에게 네트워크 작업을 수행하도록 요청해야 합니다.

📧 문자

① Retrofit 객체 생성

⑴ Retirofit 객체를 만들 수 있는 Builder 객체 생성
⑵ builder에게 baseUrl, Converter 설정
⑶ Retrofit 객체 Builder에게 build()

② Service 인터페이스 설계

원하는 통신방법으로 인터페이스 설계 - 일종의 작업요구서
어노테이션에 사용할 통신방법 (GET/POST)
Call - Retrofit이 써준 코드를 가지고 있음, 제네릭에 받을 결과

③ Service 인터페이스 객체 생성

인터페이스는 직접 객체를 만들 수 없음 ①에서 만든 Retrofit 객체에게 ②에서 만든 인터페이스 클래스 정보를 주고 객체를 만들게 함

④ 추상메소드 호출하여 네트워크 작업 수행

③에서 만든 추상메소드 객체를 통해 Call 객체 생성

⑤ 네트워크 작업 시작

enqueue로 네트워크 작업 대기 (콜백객체를 통해 알아서 응답하도록)
--> onResponse / onFailure

🐟 이미지

문자의 경우 편지를 보내는 것처럼 편지봉투에 보내지만
고등어를 편지봉투에 넣어보내지 않는 것처럼 새로 담아보낼곳이 필요
고등어를 택배로 보내려면 진공포장과 스티로폼 박스가 필요

Intent를 통해 이미지를 선택할 수 있는 Activity MediaStore.ACTION_PICK_IMAGES 실행

--> ActivityResultLauncher 필요

0개의 댓글