url로 부터 데이터 가져와 ui에 나타내기

2021. 7. 8. 01:34Kotlin

사용자의 앱의 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