Android 的網路程式設計

2021-09-06 14:16:14 字數 1593 閱讀 3891

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...