Android上的java DefaultHttpClient或HttpURLConnection
在构建旨在与移动设备交互的web服务时,我不确定在Android上实现HTTP请求的最佳方法是什么
我看到了这篇文章,最后说HttpURLConnection
是进行HTTP请求的首选方法,我已经成功地使用了HttpsURLConnection
在搜索答案或阅读其他示例代码(甚至是最近的帖子)时,所有人似乎都使用了DefaultHttpClient
,这似乎与谷歌的官方词汇背道而驰
我正在尽可能地证明我的安卓应用程序的未来性。考虑到这一点,HttpURLConnection
是最佳选择吗
# 1 楼答案
DefaultHttpClient
的抽象级别高于HttpUrlConnection
。根据你的需要,任何一个都可以。如果不需要HttpUrlConnection
的控件,请使用DefaultHttpClient
# 2 楼答案
如果您也支持2.2,最好的方法可能是同时使用DefaultHttpClient或HttpURLConnection
原因:在Froyo之后,HttpURLConnection更稳定,而DefaultHttpClient在Froyo和更小版本中的bug更少
参考:http://developer.android.com/reference/org/apache/http/impl/client/DefaultHttpClient.html Android包括两个HTTP客户端:HttpURLConnection和ApacheHTTP客户端。两者都支持HTTPS、流式上载和下载、可配置超时、IPv6和连接池。ApacheHTTP客户端在Android2.2(Froyo)和早期版本中的bug较少。对于Android 2.3(姜饼)及更高版本,HttpURLConnection是最佳选择。其简单的API和小尺寸使其非常适合Android。透明压缩和响应缓存减少了网络使用,提高了速度并节省了电池。有关两个HTTP客户端的比较,请参见Android开发者博客
# 3 楼答案
你使用的是哪个版本的Android真的很重要。请看一下http://android-developers.blogspot.com/2011/09/androids-http-clients.html,从谷歌那里获得一些指导