2021. 7. 8. 01:34ㆍKotlin
사용자의 앱의 UI요소들이 web networking으로 부터 가져올 수 있는 상황이다.
이 때 안드로이드 앱에서는 주로 Retrofit 패키지를 많이 사용한다.
[ Step 1 ]
Retrofit 패키지는 HTTP API를 Java interface로 바꿔주는 역할을 한다.
Retrofit 공식 사이트: https://square.github.io/retrofit/
Retrofit은 HTTP body들을 OkHttp패키지의 ResponseBody형으로 가져온다.
이는 RequestBody형으로 접근할 수 있는데, 다른 자료형으로 변환하고 싶다면 추가로 패키지를 설치해야 한다.
예를 들어, Gson 패키지를 추가하는 방법은 다음과 같다.
1. (gradle 파일)에 다음을 추가
implementation com.squareup.retrofit2:converter-gson$최신버전
2. Retrofit 빌드 시 .addConverterFactory()에 등록
이제 URL의 데이터를 Call<T>하고, Response<T>를 거쳐 확인한다.
[ Step 2 ]
위와 같은 web networking은 처리 시간이 필요하다.
따라서 백그라운드 작업을 사용하여 CallBack으로 UI에 표시하는 것이 좋다.
CallBack하는 방법은 2가지가 있다.
1. Retrofit callback API 사용하기
Call.enqueue() 함수를 통해 CallBack을 넘긴다.
2. Coroutine 사용하기
https://play.kotlinlang.org/hands-on/Introduction%20to%20Coroutines%20and%20Channels/04_Suspend
Kotlin Playground: Edit, Run, Share Kotlin Code Online
play.kotlinlang.org
'Kotlin' 카테고리의 다른 글
브라우저에서 Kotlin 테스트하기 (0) | 2021.10.26 |
---|---|
Kotlin 문법 정리 (0) | 2021.08.09 |
Java로 layout_gravity와 gravity 설정하는 법 (0) | 2020.01.05 |