我正在构建一个 Android 应用程序,它将与REST
使用HTTP
和HTTPS
下载JSON
和文件数据的服务进行通信。我正在寻找要使用的 HTTP 网络库并正在评估选项。我找到了一个名为AsyncHttpClient
( loopj.com/android-async-http ) 的工具,它看起来不错,我看到 Instagram 使用它,但我看到它是建立在Apache HttpClient
库上的,我似乎记得在某处读过 Apache 库被抛在后面赞成HttpURLConnection
。这是我应该关心的事情吗?我应该考虑另一个图书馆吗?如果这有所作为,我计划将最低 Android SDK 设为 2.1。
4 回答
您对HttpUrlConnection
建议是正确的,但是,您可以检查它的初始来源并检查此建议的根本原因,它真的适用于您吗?
http://android-developers.blogspot.com/2011/09/androids-http-clients.html
对我来说主要的限制HttpUrlConnection
是它最初不支持 Multipart。当然,添加起来并不难,但看起来很奇怪。
此外,Apache 的实现基本上很好,只有一个建议 - 不要忘记使用AndroidHttpClient
而不是Default
一个。
关于 JSON - 我很可能会为此推荐单独的库 - Google 的 GSON http://code.google.com/p/google-gson/。对我来说AndroidHttpClient
+ Gson 工作得很好。
祝你好运
看看http://loopj.com/android-async-http/
概述说:基于异步回调的 Android Http 客户端,构建在 Apache 的 HttpClient 库之上。所有请求都在应用的主 UI 线程之外发出,但任何回调逻辑都将在同一线程上执行,因为回调是使用 Android 的 Handler 消息传递创建的。
该库被 Instagram、Pinterest、Heyzap 等流行应用程序使用。
我刚刚发布了一个名为 DroidNetworking 的库,它支持 HTTP 缓存、身份验证、HTTP 和 HTTPS 以及许多其他功能。
https://github.com/sogeti/DroidNetworking
BR马丁
谷歌在这里有一个官方的 http java 客户端库:https ://code.google.com/p/google-http-java-client/wiki/Android