개발 공부/Android / / 2022. 8. 23. 22:39

[Android Kotlin] Retrofit String으로 응답 값 받는 방법

json말고 String으로 값을 받는 방법을 찾아서 정리해본다. 

 

1. gradle(Moduls) dependencies에 ScalarConverter를 추가해준다.

implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'

2. ScalarsConverterFactory 를 Retrofit.Builder에 추가해준다.

 .addConverterFactory(GsonConverterFactory.create())

추가한 예

    private val retrofit: Retrofit = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(ScalarsConverterFactory.create())
        .addConverterFactory(GsonConverterFactory.create()) 
        .build()

3. enqueue 에서 response.body().toString()으로 받아볼 수 있다.

call.enqueue(object : Callback<String> {
            override fun onResponse(
                call: Call<String>,
                response: Response<String>
            ) {

                Log.i("onSuccess", response.body().toString());

                if (response.isSuccessful) {
                    Toast.makeText(
                        this@ChangeAppPassActivity,
                        response.body().toString(),
                        Toast.LENGTH_LONG
                    ).show()

                } else {
                     Log.i("onEmptyResponse", "Returned empty response");
                }
            }
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유