網絡編程就是在兩個或兩個以上的設備(例如計算機)之間傳輸數據。程序員所做的事情就是把數據發送到指定的位置,或者接收到指定的數據,這個就是狹義的網絡編程範疇。
咱們首先了解如下幾個問題: Android平臺網絡相關API接口 java.net.*(標準Java接口) java.net.*提供與聯網有關的類,包括流、數據包套接字(socket)、Internet協議、常見Http處理等。好比:建立URL,以及URLConnection/HttpURLConnection對象、設置連接參數、連接到服務器、向服務器寫數據、從服務器讀取數據等通訊。這些在Java網絡編程中均有涉及。java
Org.apache接口 對於大部分應用程序而言JDK自己提供的網絡功能已遠遠不夠,這時就須要Android提供的Apache HttpClient了。它是一個開源項目,功能更加完善,爲客戶端的Http編程提供高效、最新、功能豐富的工具包支持。程序員
Android.net.*(Android網絡接口) 經常使用此包下的類進行Android特有的網絡編程,如:訪問WiFi,訪問Android聯網信息,郵件等功能。web
網絡架構主要有兩種模式B/S,C/S B/S----》就是瀏覽器/服務器端模式了,經過應用層的HTTP協議通訊,不須要特定客戶端軟件,而是須要統一規範的客戶端,簡而言之就是Android網絡瀏覽器(如chrome,UcWeb,QQ瀏覽器等等)訪問web服務器端的方式了。chrome
C/S-----》就客戶端/服務器端模式,經過任意的網絡協議通訊,須要特定的客戶端軟件。 服務器端返回客戶端的內容有三種方式: 以HTML代碼的形式返回。 以XML字符串的形式返回,作Android開發時這種方式比較多。返回的數據須要經過XML解析(SAX、DOM,Pull,等)器進行解析(必備知識)。 以json對象的方式返回。 (-)網絡鏈接 (socket鏈接和http鏈接)apache
Socket是一個針對TCP和UDP編程的接口,你能夠藉助它創建TCP鏈接等等。而TCP和UDP協議屬於傳輸層 。 而http是個應用層的協議,它實際上也創建在TCP協議之上。編程
參考文檔:http://blog.csdn.net/jie1991liu/article/details/26690733json