Android 後台開發通訊

2021-10-21 06:40:50 字數 4424 閱讀 5484

public

class

mainactivity

extends

public

void

loginget

(view view)

public

void

loginpost

(view view)

/** * get請求執行緒

*/runnable getrun =

newrunnable()

};/** * post請求執行緒

*/runnable postrun =

newrunnable()

};/** * get提交資料

* * @param paramsmap

*/private

void

requestget

(hashmap

paramsmap)

tempparams.

(string.

format

("%s=%s"

, key, urlencoder.

encode

(paramsmap.

get(key)

,"utf-8"))

);pos++;}

log.

e(tag,

"params--get-->>"

+tempparams.

tostring()

);string requesturl = baseurl + tempparams.

tostring()

;// 新建乙個url物件

url url =

newurl

(requesturl)

;// 開啟乙個httpurlconnection連線

;// 設定連線主機超時時間

urlconn.

setconnecttimeout(5

*1000);

//設定從主機讀取資料超時

urlconn.

setreadtimeout(5

*1000);

// 設定是否使用快取 預設是true

urlconn.

setusecaches

(true);

// 設定為post請求

urlconn.

setrequestmethod

("get");

//urlconn設定請求頭資訊

//設定請求中的**型別資訊。

urlconn.

setrequestproperty

("content-type",)

;//設定客戶端與服務連線型別

urlconn.

addrequestproperty

("connection"

,"keep-alive");

// 開始連線

urlconn.

connect()

;// 判斷請求是否成功

if(urlconn.

getresponsecode()

==200

)else

// 關閉連線

urlconn.

disconnect()

;}catch

(exception e)

}/**

* post提交資料

* * @param paramsmap

*/private

void

requestpost

(hashmap

paramsmap)

tempparams.

(string.

format

("%s=%s"

, key, urlencoder.

encode

(paramsmap.

get(key)

,"utf-8"))

);pos++;}

string params = tempparams.

tostring()

; log.

e(tag,

"params--post-->>"

+params)

;// 請求的引數轉換為byte陣列

// 傳送請求引數

printwriter dos =

newprintwriter

(urlconn.

getoutputstream()

);dos.

write

(params)

; dos.

flush()

; dos.

close()

;// 判斷請求是否成功

if(urlconn.

getresponsecode()

==200

)else

// 關閉連線

urlconn.

disconnect()

;}catch

(exception e)

}/**

* 將輸入流轉換成字串

* * @param is 從網路獲取的輸入流

* @return

*/public string streamtostring

(inputstream is)

baos.

close()

; is.

close()

;byte

bytearray = baos.

tobytearray()

;return

newstring

(bytearray);}

catch

(exception e)

}/**

* * @param fileurl

*/private

void

downloadfile

(string fileurl)

}else

// 關閉連線

urlconn.

disconnect()

;}catch

(exception e)

}/**

* 檔案上傳

* * @param filepath

* @param paramsmap

*/private

void

uploadfile

(string filepath, hashmap

paramsmap)

pos++;}

tempparams.

("\r\n");

tempparams.()

; tempparams.

("\r\n");

string params = tempparams.

tostring()

; requeststream.

writebytes

(params)

;//傳送檔案資料

fileinputstream fileinput =

newfileinputstream

(file)

;int bytesread;

byte

buffer =

newbyte

[1024];

datainputstream in =

newdatainputstream

(new

fileinputstream

(file));

while

((bytesread = in.

read

(buffer))!=

-1) requeststream.

writebytes

("\r\n");

requeststream.

flush()

; requeststream.

writebytes

("--"

+"*****"

+"--"

+"\r\n");

requeststream.

flush()

; fileinput.

close()

;int statuscode = urlconn.

getresponsecode()

;if(statuscode ==

200)

else

}catch

(ioexception e)

}

Android即時通訊開發總結

第三方平台 比如環信,融雲,leancloud,容聯雲 網易雲信等等。直接使用sdk就可以實現了,最簡單最直接,而且穩定性已經不錯了,連ui介面都帶有了,可以自行修改,缺點是要收費。spark smack openfire 安卓使用asmack,測試使用spark,伺服器使用openfire。asm...

Android藍芽開發SPP協議通訊

最近專案中使用到藍芽spp協議通訊,然後在網上看了很多資料,進行學習使用,為了加深印象,做個簡單的整理。1 使用藍芽許可權 uses permission android name android.permission.bluetooth uses permission android name a...

Android後台錄影

最近因工作需求,要開發android後台錄影的功能,鑑於功能太 就不公開原始碼了,我們主要用於記錄計程車行駛過程中的資料。提供開發思路 1.難點 後台一直執行 service或thread 預覽介面的大小控制 1 1 這方面可以搜一搜,網上很多 2.本人採用service 懸浮視窗開發 2.1 在s...