Я знаю, что могу использовать java.net.URL() для получения Json, и это работает. Но я могу использовать URL() только в неосновном потоке, иначе Android выдаст исключение NetworkOnMainThreadException.
Я не могу понять, как извлечь результат URL( ) изнутри потока. Вот макет того, где я сейчас оказался:
Код: Выделить всё
fun getJsonFromUrl(myUrl: String): String {
var myJson: String = ""
thread {
myJson: URL = URL(myUrl).readText()
}.start()
return myJson
}
Я знаю, что уже есть много ТАК вопросов по этому поводу, но я не нашел ничего, что могло бы правильно ответить на этот вопрос. Я также знаю, что существует множество пакетов для управления HTTP GET (Volley, OkHttp,...), но мне не понадобится ничего, кроме этого простого соединения, и я не думаю, что эти пакеты помогут мне понять, как работать в потоках. Я пробовал много вещей, в основном сообщения SO, но это мне совсем не помогло.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-kotlin