#android #android-studio #kotlin #okhttp
Вопрос:
fun fetchJson(){
val request = Request.Builder()
.url("https://covid-193.p.rapidapi.com/statistics?country")
.get()
.addHeader("x-rapidapi-key", "mykey")
.addHeader("x-rapidapi-host", "covid-193.p.rapidapi.com")
.build()
val client = OkHttpClient()
client.newCall(request).enqueue(object: Callback{
override fun onFailure(call: Call, e: IOException) {
println("Failed to fetch data")
}
override fun onResponse(call: Call, response: Response) {
val body = response?.body()?.string()
println(body)
}
})
}
Я пытаюсь получить некоторые данные из API и отобразить их в своем приложении. В данном коде, ответ?.body()?строка() android studio выделяет часть body() красным цветом. Я не могу получить доступ к данным json из API. Как я могу это исправить?
Комментарии:
1. Используйте дооснащение, так как вам будет легко им пользоваться.
Ответ №1:
Я думаю, что ваша проблема связана с попыткой вызова body
как функции, а не как переменной? Я не генерирую никаких ошибок, когда у меня есть линия тела, как:
val body = response.body?.string()
(Чего бы это ни стоило, так как также сказано, что ?
включение response
было ненужным).