Ответ
Работа с сетевыми запросами в MainThread (UI-потоке) приведет к ANR (Application Not Responding), так как сетевые операции блокируют поток. Android запрещает сетевые вызовы в основном потоке начиная с Honeycomb (API 11).
Используй отдельный поток или корутины:
// С корутиной
lifecycleScope.launch(Dispatchers.IO) {
val result = api.getData()
withContext(Dispatchers.Main) {
updateUI(result)
}
}
// С RxJava
api.getData()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { result -> updateUI(result) }