欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中Volley框架下保持會話方法

 更新時間:2016年11月03日 15:26:43   投稿:mrr  
這個是基于session的一個網(wǎng)絡(luò)會話,手機(jī)app給服務(wù)器發(fā)送登陸請求的時候,服務(wù)器返回的網(wǎng)絡(luò)response(networkRespone)的頭(head)里面存放著你想要的sessionid。這篇文章主要介紹了Android中Volley框架下保持會話方法的相關(guān)資料,需要的朋友可以參考下

公司經(jīng)理把我拉出來,死馬當(dāng)活馬醫(yī),做一個安卓app,作為剛畢業(yè)幾個月且只是培訓(xùn)了幾個月的小白來說,這無疑是一個非常大的挑戰(zhàn),當(dāng)然最大的挑戰(zhàn)不是這個,最大的挑戰(zhàn)時兩個周做出來。這是最蛋疼的,說實話,對于有兩三年的開發(fā)經(jīng)驗的人來說,兩個周開發(fā)一個項目很簡單,說不定還有很多時間用來干別的。

于是一上來就把自己給難住了,登陸還是很好做的,只要驗證返回的信息就可以跳轉(zhuǎn),但是在接下來后面的數(shù)據(jù)接口連接的時候各種報錯,整了兩天,查了很多信息,還接受了公司老人的嘲諷和謾罵終于做出來了。

這個是基于session的一個網(wǎng)絡(luò)會話,手機(jī)app給服務(wù)器發(fā)送登陸請求的時候,服務(wù)器返回的網(wǎng)絡(luò)response(networkRespone)的頭(head)里面存放著你想要的sessionid。這個時候只要重寫parseNetworkResponse就可以了:

第一步: 在errorLitener后面添加這個方法獲取sessionid

{
protected Response<String> parseNetworkResponse(NetworkResponse response){
Response<String> r = super.parseNetworkReponse(response);
Map<String,String> head = response.headers;
String cookies = head.get("Set-Cookie");
Contant.cookie = cookies.substring(0,cookies.indexOf(";"));
return r;
}
};

以上是寫在最初登陸時候的頁面的。

第二步:

Contant.cookie 這個是自己寫的一個全局變量,寫起來很簡單
public class Contant{
public static volatile String cookie = null;
}

第三步:在發(fā)送數(shù)據(jù)請求的時候發(fā)送session

StringRequest request = new StringRequest(Request.Method.GET, url, listener,
errorListener) {
public Map<String, String> getHeaders() throws AuthFailureError {
if (Contant.localCookie != null && Contant.localCookie.length() > 0) {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("cookie", Contant.Cookie);
Log.d("調(diào)試", "headers--" + headers);
return headers;
}else {
return super.getHeaders();
}
}
};

這里面的listener和errorlistener擴(kuò)展寫,寫在外面也行,寫在這里面也可以,這樣就可以了

以上所述是小編給大家介紹的Android中Volley框架下保持會話方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論