问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android开发各位大神,volley怎么设置session

发布网友 发布时间:2022-04-25 15:53

我来回答

1个回答

热心网友 时间:2023-10-14 22:32

对于一般的使用我就不说明了。大伙去看其他的博客吧,这里我就说一下我自己是怎么使用session在保持连接状态的。
*/***
* Created by pokermman on 16/5/31.
*/

public class CookiePostRequest extends Request<JSONObject> {
private Map<String, String> mMap;
private Response.Listener<JSONObject> mListener;
private String mHeader;
private Map<String, String> sendHeader=new HashMap<String, String>(1);
public CookiePostRequest(String url, Map map, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener){
super(Method.POST, url, errorListener);
mListener = listener;
mMap = map;
}
//当http请求是post时,则需要该使用该函数设置往里面添加的键值对 @Override
protected Map<String, String> getParams() throws AuthFailureError {
return mMap;
}
@Override
protected Response<JSONObject>parseNetworkResponse(NetworkResponse response) {
try {
String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
//获取头部信息
mHeader = response.headers.toString();
Log.w("LOG","get headers in parseNetworkResponse "+response.headers.toString());
//获取cookie头部信息
Map<String, String> responseHeaders = response.headers;
String rawCookies = responseHeaders.get("Set-Cookie");
LogUtils.d(rawCookies);
//;分隔获取sessionid
String[] splitCookie = rawCookies.split(";");
//使用SharedPreferences本地存储
SharedPreferences sp = BnxApplication.getInstance().getSharedPreferences("CookiePrefsFile",0);
SharedPreferences.Editor prefsWriter = sp.edit();
prefsWriter.putString("cookie_",splitCookie[0]);
prefsWriter.commit();//
//将cookie字符串添加到jsonObject中,该jsonObject会被deliverResponse递交,调用请求时则能在onResponse中得到
JSONObject jsonObject = new JSONObject(jsonString);
// jsonObject.put("Cookie",rawCookies); //自行添加
Log.w("LOG","jsonObject "+ response.toString());
return Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}
}
@Override
protected void deliverResponse(JSONObject response) {
mListener.onResponse(response);
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return sendHeader;
}}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
倩碧黄油适合哪种肤质的人使用? 倩碧有哪些护肤品比较受女性青睐? 倩碧紧致面霜适合哪些肤质的人使用? 倩碧护肤品适合什么肤质使用? 哪些肤质的人适合使用倩碧卓越润肤乳? 学校发的移动卡,套餐38的送一年宽带 现在卡不想用了,貌似宽带合约没到期... ...我居住浙江,有一个广西的移动卡,移动卡上还捆绑有宽带 我现在在外地我想注销移动卡或者联通卡怎么注销,回不到办卡的地方。 上海最建议去三个景点 为什么叫北京鸭篮球 打开网页显示Parse error: syntax error, unexpected? DHA是早上吃还是晚上吃的? 网银转账对方名字错误账号正确可以转账吗? DHA是餐前吃还是餐后吃? 网银转账姓名,账号都对银行填错了,对方钱能到吗?? 孕妇dha是饭前吃好还是饭后吃好 海外汇款收款人名字中写错一个字母但账号是对汇款能否到账 转账名字错了账号对的可以到账吗? 转账银行名称写错了可以到账吗 跨行转账,名字错了,卡号是对的,怎么办 做麻婆豆腐时豆腐焯水多长时间合适 转账名字错了账号对的可以到账吗 豆腐煮几分钟 西安哪有柴油发电机组租赁 永城市苏美达招普工 机械分类 机械设备分类 学生五金公司志愿服务活动记录内容 机械产品去俄罗斯要不要做认证? 苏美达五金的包装工程师待遇怎么样 机械产品的制造过程分为哪三个阶段? 孕妇应该如何补充DHA? Parse error: syntax error, unexpected T_NEW in D:&#92;AppServ&#92;www&#92;object.php on line 23 dha胶囊孕妇一天中什么时候吃 php文件出现Parse error: syntax error, unexpected T_VARIABLE in 孕妇吃亚麻酸是在饭前还是饭后 Parse error: parse error, unexpected $end in D:&#92;AppServ&#92;www&#92;new&#92;register.php on line 58 DHA应该饭前吃还是饭后 Parse error: syntax error, unexpected &#39; &#39; (T_STRING) on line 39是什么鬼? DHA饭前吃还是随餐吃 error opening new searcher什么异常 孕妇该如何补充DHA? Parse error: syntax error, unexpected &#39;mysql_error&#39; (T_STRING) in swisse孕妇dha怎么吃法 PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法 拌芥菜头的做法步骤图,拌芥菜头怎么做好吃 dha什么时候吃最好 php报错 Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or &#39;$&#39; in 芥末油可以拌什么菜 DHA饭前吃还是饭后吃? 外省的可以去浙江参加初级安全工程师证吗?