Android中Volley框架下保持會(huì)話方法
公司經(jīng)理把我拉出來,死馬當(dāng)活馬醫(yī),做一個(gè)安卓app,作為剛畢業(yè)幾個(gè)月且只是培訓(xùn)了幾個(gè)月的小白來說,這無疑是一個(gè)非常大的挑戰(zhàn),當(dāng)然最大的挑戰(zhàn)不是這個(gè),最大的挑戰(zhàn)時(shí)兩個(gè)周做出來。說實(shí)話,對于有兩三年的開發(fā)經(jīng)驗(yàn)的人來說,兩個(gè)周開發(fā)一個(gè)項(xiàng)目很簡單,說不定還有很多時(shí)間用來干別的。
于是一上來就把自己給難住了,登陸還是很好做的,只要驗(yàn)證返回的信息就可以跳轉(zhuǎn),但是在接下來后面的數(shù)據(jù)接口連接的時(shí)候各種報(bào)錯(cuò),整了兩天,查了很多信息,還接受了公司老人的嘲諷和謾罵終于做出來了。
這個(gè)是基于session的一個(gè)網(wǎng)絡(luò)會(huì)話,手機(jī)app給服務(wù)器發(fā)送登陸請求的時(shí)候,服務(wù)器返回的網(wǎng)絡(luò)response(networkRespone)的頭(head)里面存放著你想要的sessionid。這個(gè)時(shí)候只要重寫parseNetworkResponse就可以了:
第一步: 在errorLitener后面添加這個(gè)方法獲取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;
}
};以上是寫在最初登陸時(shí)候的頁面的。
第二步:
Contant.cookie 這個(gè)是自己寫的一個(gè)全局變量,寫起來很簡單
public class Contant{
public static volatile String cookie = null;
}第三步:在發(fā)送數(shù)據(jù)請求的時(shí)候發(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框架下保持會(huì)話方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android 中Volley二次封裝并實(shí)現(xiàn)網(wǎng)絡(luò)請求緩存
- Android中volley封裝實(shí)踐記錄
- Android Volley框架全面解析
- Android Volley框架使用方法詳解
- Android的HTTP類庫Volley入門學(xué)習(xí)教程
- Android Volley框架使用源碼分享
- Android 開發(fā)中Volley詳解及實(shí)例
- android 網(wǎng)絡(luò)請求庫volley方法詳解
- Android 網(wǎng)絡(luò)請求框架Volley實(shí)例詳解
- Android中volley封裝實(shí)踐記錄(二)
相關(guān)文章
完美解決客戶端webview持有的頁面緩存,不會(huì)立即釋放的問題
下面小編就為大家?guī)硪黄昝澜鉀Q客戶端webview持有的頁面緩存,不會(huì)立即釋放的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
Android Studio default not found錯(cuò)誤解決辦法
這篇文章主要介紹了Android Studio gradle 編譯提示‘default not found’ 解決辦法的相關(guān)資料,需要的朋友可以參考下2017-01-01
Kotlin封裝RecyclerView Adapter實(shí)例教程
這篇文章主要給大家介紹了關(guān)于Kotlin封裝RecyclerView Adapter的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
Android GestureDetector手勢滑動(dòng)使用實(shí)例講解
這篇文章主要為大家詳細(xì)介紹了Android GestureDetector手勢滑動(dòng)使用實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
android ViewPager實(shí)現(xiàn)滑動(dòng)翻頁效果實(shí)例代碼
本篇文章主要介紹了android ViewPager實(shí)現(xiàn)滑動(dòng)翻頁效果實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
解決Android Studio xml 格式化不自動(dòng)換行的問題
這篇文章主要介紹了解決Android Studio xml 格式化不自動(dòng)換行的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android小程序?qū)崿F(xiàn)選項(xiàng)菜單
這篇文章主要為大家詳細(xì)介紹了Android小程序?qū)崿F(xiàn)選項(xiàng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
Android的簡單前后端交互(okHttp+springboot+mysql)
這篇文章主要介紹了Android的簡單前后端交互(okHttp+springboot+mysql),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05

