Como fazer uma requisição HTTP no Android em Kotlin (Retrofit, OkHttp, Ktor)
Olá a todos! Comecei a estudar Kotlin para Android recentemente e me deparei com o problema de fazer requisições HTTP. Preciso obter dados de uma REST API (por exemplo, uma lista de usuários) e exibi-los em um RecyclerView. Tentei usar o antigo AsyncTask, mas em todos os lugares dizem que ele está obsoleto e não pode ser usado nas novas versões do Android.
Aqui está um exemplo do meu código que não funciona:
```kotlin
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val url = "https://jsonplaceholder.typicode.com/users"
val result = URL(url).readText() // Gera NetworkOnMainThreadException
textView.text = result
}
}
```
Eu entendo que não se pode fazer requisições de rede na thread principal. Mas como organizar corretamente uma requisição assíncrona? Preciso adicionar alguma dependência no Gradle? O que usar: OkHttp, Retrofit, Ktor ou algo mais?