Android: какой самый правильный способ прочитать файл из интернета?

Мне нужно прочитать файл из интернета при инициализации своего приложения. Я написал такую функцию:

private fun urlRead() {
    val url = URL(MY_URL)
    val stream = url.openStream()
    val v = stream.read()
}

И вызываю эту функцию из onCreate. При вызове функции openStream приложение выбрасывает исключение NetworkOnMainThreadException. Я так понял, что чтение файлов из интернета нужно делать в отдельном потоке. Поиск по форумам и статьям привёл к тому, что один из самых просты способов - это использовать AsyncTask. Но в документации на него указано, что он deprecated и лучше использовать coroutines. Однако документация на корутины написана очень невнятно, есть подозрение, что перед тем как её читать, нужно знать что-то ещё, но что именно и где про это можно прочитать в документации не указано.

В общем, не могли бы вы привести простой пример кода, как с помощью корутины в Kotlin в Android прочитать содержимое файла из интернета?


Ответы (1 шт):

Автор решения: beeline09

Для сетевых операций отлично подходит библиотека Retrofit

→ Ссылка