android的網路程式設計分為2種:基於socket的,和基於http協議的。
基於socket的用法
伺服器端:
先啟動乙個伺服器端的socket serversocket svr = new serversocket(8989);
開始偵聽請求 socket s = svr.accept();
取得輸入和輸出 datainputstream dis = new datainputstream(s.getinputstream());
dataoutputstream dos = new dataoutputstream(s.getoutputstream());
socket 的互動通過流來完成,即是說傳送的位元組流,因此任何檔案都可以在上面傳送。誰開啟的記得要關上。
用datainputstream/dataoutputstream來進行包裝是因為我們想要他們對基本資料型別的讀寫功能readint(),writeint(),readutf(),writeutf()等等。
客戶端:
發起乙個socket連線 socket s = new socket("192.168.1.200",8989);
取得輸入和輸出 datainputstream dis = new datainputstream(s.getinputstream());
dataoutputstream dos = new dataoutputstream(s.getoutputstream());
之後就可以相互通訊了。誰開啟的記得要關上。
基於http協議
一般是傳送請求到某個應用伺服器。此時需要用到httpurlconnection
先取得httpurlconnection urlconn = new url("").openconnection();
設定標誌
urlconn.setdooutput(true); urlconn.setdoinput(true);//post的情況下需要設定dooutput為true
urlconn.setrequestmethod("post");
urlconn.setusecache(false);//設定是否用快取
獲得輸出流,便於想伺服器傳送資訊。
dataoutputstream dos = new dataoutputstream(urlconn.getoutputstream());
望流裡面寫請求引數
dos.writebytes("name="+urlencoder.encode("chenmouren","gb2312");
dos.flush();dos.close();//傳送完後馬上關閉。
獲得輸入流,取資料
bufferreader reader = new bufferedreader(new inputstreamreader(urlconn.getinputstream()));
reader.readline();//用 !=null來判斷是否結束
reader.close();
讀完了記得關閉connection urlconn.disconnect();
流程記錄就到此為止。
Android 網路程式設計
在寫android相關的webservice時,最基礎的就是android系統的網路程式設計。最基礎的是socket,但是針對於android來進行socket程式設計就會顯得太麻煩,其實android已經為我們封裝好了網路程式設計的相關類,常用的是httpget httppost以及httpurl...
Android網路程式設計
socket程式設計客戶端 socket s new socket ip,port socket程式設計服務端 serversocket ss new serversocket port socket s ss.accept socket服務端的基本程式設計架構 serversocket ss ne...
Android網路程式設計
1 tcp ip的socket serversocket。2 udp的datagramsocket datagrampackage。考慮到android 裝置主要是手持終端,ip都是伴隨著上網進行分配的。不是固定不變的。因此開發也是與普通網際網路應用有所差異的。3 直接針對url的httpurlco...