Android中Volley框架下保持会话方法
公司经理把我拉出来,死马当活马医,做一个安卓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框架下保持会话方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
完美解决客户端webview持有的页面缓存,不会立即释放的问题
下面小编就为大家带来一篇完美解决客户端webview持有的页面缓存,不会立即释放的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12
Android Studio default not found错误解决办法
这篇文章主要介绍了Android Studio gradle 编译提示‘default not found’ 解决办法的相关资料,需要的朋友可以参考下2017-01-01
Kotlin封装RecyclerView Adapter实例教程
这篇文章主要给大家介绍了关于Kotlin封装RecyclerView Adapter的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-08-08
Android GestureDetector手势滑动使用实例讲解
这篇文章主要为大家详细介绍了Android GestureDetector手势滑动使用实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-07-07
解决Android Studio xml 格式化不自动换行的问题
这篇文章主要介绍了解决Android Studio xml 格式化不自动换行的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03
Android的简单前后端交互(okHttp+springboot+mysql)
这篇文章主要介绍了Android的简单前后端交互(okHttp+springboot+mysql),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-05-05


最新评论