在看android基礎的時候,關於網絡操作一般都會介紹HttpClient以及HttpConnection這兩個包。前者是apache的開源庫,後者是android自帶的api。既然提到了他們,都二者進行一個比較,谷歌在官方文檔已經說明了,建議在2.3以及以上版本使用HttpConnection。具體原因呢,是因為對2.1和2.2版本,HttpURLConnection有那麼幾個Bug,所以建議用Apache的HTTP Client;之後的版本,建議用HttpURLConnection。Apache的HTTP Client比較強大,擁有龐大而靈活的API,這個實現很穩定,並且Bug很少。然而,也就是因為太龐大了,以至於很難在保證兼容性的情況下改進它,故android 開發團隊不應該維護該庫而是轉投更為輕量級的httpurlconnection。 當我們開發企業級應用的時候,一般都會選擇使用已經封裝好的http框架。開源的比較流行的有: 1、volley
2、android-async-http
3、retrofit
4、okhttp
5、androidquery 6、AndroidAsync
等。他們各有優劣,不同的框架有不同的效率,在使用的時候可以因地制宜地測試,根據效果來選擇使用哪個,之前個人則比較喜歡用android-async-http,。如今Google推出了官方的針對Android平台上的網絡通信庫volley,能使網絡通信更快,更簡單,更健壯,Volley在提供了高性能網絡通訊功能的同時,對網絡圖片加載也提供了良好的支持,完全可以滿足簡單REST客戶端的需求, 我們沒有理由不跟上時代的潮流。另外,但volley的擴展性很強,可以根據需要定制你自己的網絡請求。所以,最後推薦還是使用volley進行開發,當然其他幾個庫也是非常具有學習以及參考意義的,可以將他們的精髓之處汲取到volley框架的拓展開發之中,做出自己理想的http通訊框架。
推薦博客: http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/ http://blog.csdn.net/t12x3456/article/details/9221611
http://blog.csdn.net/guolin_blog/article/details/12452307