【问题标题】:How to perform a simple HTTP request in Kotlin/Android?如何在 Kotlin/Android 中执行简单的 HTTP 请求?
【发布时间】:2020-03-15 18:21:00
【问题描述】:

我是 Android 应用程序开发的新手,我想通过 HTTP 向 Web 服务器执行一个简单的 API 请求。 URL("http://www.myapi.com").readText() 似乎是一个很好的开始方式,但这会导致 NetworkOnMainThreadException。所以它必须异步运行或在协程中运行。但是,我对此还不够熟悉,到目前为止我发现的其他示例对我不起作用。

非常感谢您的帮助!

【问题讨论】:

标签: android kotlin android-asynctask kotlin-coroutines


【解决方案1】:

如果您使用 mvvm 模式,您可以在 ViewModel 类中执行以下操作

viewModelScope.launch {val response = withContext(Dispatchers.IO) { your request }}

【讨论】:

    【解决方案2】:

    默认情况下,Android 9 及更高版本不再允许 HTTP 请求。 考虑使用HTTPS,或者修改AndroidManifest.xml,见this answer on StackOverflow

    【讨论】:

      猜你喜欢
      • 2020-12-25
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多