Я пытаюсь создать приложение для Android, которое подключается к API, и для этого я использую Kotlin Coroutines и Retrofit.Я следовал этому руководству (https://android.jlelse.eu/android-networking-in-2019-retrofit-with-kotlins-coroutines-aefe82c4d777), пытаясь настроить свой собственный API, но наткнулся на проблему. Я не могу получить данные из API, потому что не могу обработать ответ.
IЯ не очень разбираюсь в сопрограммах, поэтому я не понимаю, в чем здесь проблема. Если я запускаю отладку и работаю построчно, она работает идеально каждый раз, но если я запускаю приложение, оно печатает только TestPoint1.не выдает никакой ошибки, и ответ всегда 200 ОК. Я попытался объединить
val standings = service.getStandings()
и
val response = standings.await()
в одну строку, после чего он также не работает при отладке. Он продолжает код после запуска сопрограммы.
val service = ApiFactory.footballApi
GlobalScope.launch(Dispatchers.Main) {
val standings = service.getStandings()
try {
Log.d("TAG", "TestPoint1")
val response = standings.await()
Log.d("TAG", "TestPoint2")
if(response.isSuccessful){
//store data
}else{
Log.d("MainActivity ",response.errorBody().toString())
}
}catch (e: Exception){
Log.d("TAG", "Error")
}
}