카테고리 없음

[Android studio] retrofit 실습 중 발생했던 문제

젼젼39 2024. 5. 3. 20:40

1) ExceptionInInitializerError

: 초기화 관련 문제였는데 내 경우 url 마지막에 >> / << 누락으로 문제가 생긴 거였다...ㅠ  

object NetWorkClient {

    //서비스 URL
    private const val DUST_BASE_URL = "https://apis.data.go.kr/B552584/ArpltnInforInqireSvc/"

 

2) BuildConfig

: build.gradle에 아래 부분 추가하면 됨 (수정 뒤 코드에서는 buildConfig를 없애서 사용하진 않았음)

buildFeatures {
//    viewBinding = true
//    dataBinding = true
    buildConfig = true
}

 

3) build.gradle 에서 dependencies 추가하는 부분

: 이 부분은 수정 전에도 잘 작동하긴 했는데 더 깔끔하게 고쳐주셨다

//build.gradle 의 dependencies 안에서
implementation(libs.bundles.retrofit)
//libs.versions.toml

[versions]
//agp = "8.3.2"
//kotlin = "1.9.0"
//coreKtx = "1.13.0"
//junit = "4.13.2"
//junitVersion = "1.1.5"
//espressoCore = "3.5.1"
//appcompat = "1.6.1"
//material = "1.11.0"
//activity = "1.8.0"
//constraintlayout = "2.1.4"
retrofit = "2.11.0"
okhttp3 = "4.12.0"

//[libraries]
//androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
//junit = { group = "junit", name = "junit", version.ref = "junit" }
//androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
//androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
//androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
//material = { group = "com.google.android.material", name = "material", version.ref = "material" }
//androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
//androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }

# Network & Serialization
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofit-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp3"}
okhttp-logging = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp3"}

//[plugins]
//androidApplication = { id = "com.android.application", version.ref = "agp" }
//jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }

[bundles]
retrofit = [
    "retrofit",
    "retrofit-converter-gson",
    "okhttp",
    "okhttp-logging"
]