天天看點

Android 網絡開發架構的選擇

在看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