Retrofit2 라이브러리를 이용해서 HTTP 통신을 하는 방법을 알아보겠습니다.
이번 시간에는 권한 및 설정을 하겠습니다.
1-1 권한 등록
manifest 태그 안에 추가합니다.
<uses-permission android:name="android.permission.INTERNET"/>
1-2 http통신 허용
application 태그 안에 옵션을 추가합니다.
android:usesCleartextTraffic="true"
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
converter-gson: 호출해서 받은 json타입을 모델 클래스에 넣어주는 일을 합니다.
retrofit: Retrofit을 사용하기 위한 필수 라이브러리입니다.
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
{
"status":"0000",
"data":{
"opening_price":"41990",
"closing_price":"39250",
"min_price":"38850",
"max_price":"42040",
"units_traded":"286216.39811369",
"acc_trade_value":"11540564673.1119",
"prev_closing_price":"42000",
"units_traded_24H":"599231.9692916",
"acc_trade_value_24H":"24648790492.2505",
"fluctate_24H":"-2070",
"fluctate_rate_24H":"-5.01",
"date":"1664333725925"
}
}
- 설명 -
1. status: status 받을 변수.
2. data: data안의 데이터를 받을 변수
3. 이름을 같게 해야 합니다.
4. 변수명 위에 @SerializedName("opening_price") 같이 하면 변수명을 똑같이 하지 않아도 됩니다.
5. 언더바 뒤에 첫 글자를 대문자로 변경하면 @SerializedName을 안해도 됩니다.
예: opening_price -> openingPrice
data class Ticker(
val status: String,
val data: Data
)
- 설명 -
data 안의 키값과 같은 이름으로 정해야 합니다.
data class Data(
val opening_price: String,
val closing_price: String,
val min_price: String,
val max_price: String
)
- 설명 -
1. 호출할 api 정보로 만든 함수가 있는 인터페이스
2. @GET("public/ticker/{order_currency}_{payment_currency}")
GET방식으로 통신하며, { } 안에는 경로를 동적으로 호출하고 싶을 때 필요합니다.
공통 url 주소는 실제 이 함수를 호출할 때 지정합니다.
3. api 문서: https://apidocs.bithumb.com/reference/현재가-정보-조회
실제 호출 api : https://api.bithumb.com/public/ticker/ETC_KRW
interface ApiService {
@GET("public/ticker/{order_currency}_{payment_currency}")
fun getCoinTicker(
@Path("order_currency") orderCurrency: String,
@Path("payment_currency") paymentCurrency: String
): Call<Ticker>
}
2022.09.27 - [안드로이드] - [안드로이드 코틀린] Vibrator 진동 효과 내는 방법
2022.09.26 - [안드로이드] - [안드로이드 코틀린] Ringtone 효과음 내는 방법
2022.09.23 - [안드로이드] - [안드로이드 코틀린] RecyclerView 다중 선택 삭제하는 방법
[안드로이드 코틀린] HTTP Glide 이미지 쉽게 보여주는 방법 (0) | 2022.09.30 |
---|---|
[안드로이드 코틀린] HTTP 통신 Retrofit2 사용법 part2 - 화면 및 기능 (0) | 2022.09.29 |
[안드로이드 코틀린] Vibrator 진동 효과 내는 방법 (0) | 2022.09.27 |
[안드로이드 코틀린] Ringtone 효과음 내는 방법 (0) | 2022.09.26 |
[안드로이드 코틀린] RecyclerView 다중 선택 삭제하는 방법 (0) | 2022.09.23 |
댓글 영역