国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

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

2019-12-12 04:48:30
字體:
來源:轉載
供稿:網友

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

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

這個是基于session的一個網絡會話,手機app給服務器發送登陸請求的時候,服務器返回的網絡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;}

第三步:在發送數據請求的時候發送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("調試", "headers--" + headers);return headers;}else {return super.getHeaders();}}};

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澳门| 乐亭县| 敦化市| 伊川县| 始兴县| 乳源| 宁陵县| 通道| 北川| 含山县| 鹤岗市| 高碑店市| 乡宁县| 克拉玛依市| 崇礼县| 桃园市| 玉林市| 玉环县| 正宁县| 高要市| 无极县| 桑日县| 汤原县| 兴业县| 无棣县| 莱阳市| 荣昌县| 将乐县| 东兴市| 新安县| 长海县| 天津市| 宾川县| 石阡县| 武鸣县| 河间市| 临汾市| 武清区| 洛扎县| 嘉祥县| 山西省|