【问题标题】:NSURLSession equivalent in Android?Android中的NSURLSession等价物?
【发布时间】:2016-09-08 14:16:36
【问题描述】:

我需要在 Android 中发送 HTTP POST 消息。我见过很多way 这样做。但是接受的答案是使用已弃用的类,或者方法远非最有效的解决方案。苹果从NSURLConnection 移动到NSURLSession。 Android中是否也有类似的框架?

我读到here,即不建议使用HttpUrlConnectionHttpClient,但我不想使用第三方库。

【问题讨论】:

  • 请考虑使用Retrofit、Volley等插件。无需重新发明轮子。所有这些插件都将异步执行任何请求(GET、POST 等)并提供 JSON 映射,并为您节省大量样板代码。欢迎来到 Android 开发!
  • 你说的插件是什么?我正在寻找 标准 类/框架。没有第 3 方解决方案。它写在问题中。
  • 因此我选择了“请考虑”和评论,而不是答案。如果您不能或不想使用第 3 方解决方案,请等待实际答案。
  • 仅作记录,您认为 Google 是第 3 方吗?因为他们是维护 Volley (developer.android.com/training/volley/index.html)
  • 如果你改变主意,那么你也许可以看看square.github.io/okhttp 或其他已经提到过的第 3 方建议之一,比如 Volley

标签: android httpclient httpurlconnection nsurlsession


【解决方案1】:

你别无选择。

HttpClient 已弃用,但仍然有效。

HttpUrlConnection 可以,如果你不打算为恐龙编写应用程序。无论如何,我在公司应用程序 android 2.3+ 中使用它并且没有问题。

或 3rd 方库,如 RetrofitVolley

还有其他方法,但它们比仅使用 3rd 方库更糟糕,例如使用 Android NDK。

【讨论】:

  • 有一种方法可以导入更新版本的HttpClient,但它是由 Apache 制作的,所以是第 3 方。 stackoverflow.com/questions/29150184/…
  • 好吧,如果你准备好导入一些东西,Retrofit 会更好,如果不只是使用 HttpUrlConnection,srsly 我不认为你使用了那么难的东西。
  • 如果我们在谈论方法,例如,您可以将 cURL 导入到 android NDK,但这仍然不是最好的决定。
  • 这不一样,因为与 Android 捆绑在一起的默认 HttpClient 客户端实际上是一个没有真正维护的分叉 Apache HttpClient。所以导入新版本似乎更接近原来的客户端。
猜你喜欢
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 2012-03-17
  • 2014-07-28
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多