【发布时间】:2015-03-19 16:37:16
【问题描述】:
随着 Android 5.1 的发布,所有 Apache http 的东西似乎都已被弃用。看文档是没用的;他们都说
This class was deprecated in API level 22.
Please use openConnection() instead. Please visit this webpage for further details.
第一次阅读时这很好,但是当每个已弃用的课程都这么说时,它就没有那么有用了。
不管怎样,HttpEntity 等类的替代方案是什么,特别是 StringEntity 和 MultipartEntity? 我用 BasicNameValuePair 替换了我自己实现的 Android 的 Pair<T, S> 类,以及看起来URLEncoder.encode 可以很好地替代URLEncodedUtils,但我不确定如何处理HttpEntity。
编辑
我决定只重写网络内容。会尝试使用 Retrofit 和 OkHttp
编辑
认真考虑将您的通话和其他内容转换为 Retrofit。很漂亮。我很高兴我做到了。有一些障碍,但很酷。
【问题讨论】:
-
如果以下任何答案对您有所帮助,您应该强调最有帮助的答案。
-
使用
OkHttp是明智的选择。 -
HttpUrlConnection 是新的标准(不需要外部库)。请参阅this answer 以获得实现 json 接口的好示例。如果不需要,可以很容易地剥离 json。我在让 Retrofit 与 Proguard 合作的过程中度过了一段糟糕的时光并放弃了。
标签: android httpurlconnection apache-httpclient-4.x