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框架下保持会话方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-09-20 16:57:15

Android中Volley框架下保持会话方法的相关文章

Android中Volley框架下保持会话方法_Android

公司经理把我拉出来,死马当活马医,做一个安卓app,作为刚毕业几个月且只是培训了几个月的小白来说,这无疑是一个非常大的挑战,当然最大的挑战不是这个,最大的挑战时两个周做出来.这是最蛋疼的,说实话,对于有两三年的开发经验的人来说,两个周开发一个项目很简单,说不定还有很多时间用来干别的. 于是一上来就把自己给难住了,登陆还是很好做的,只要验证返回的信息就可以跳转,但是在接下来后面的数据接口连接的时候各种报错,整了两天,查了很多信息,还接受了公司老人的嘲讽和谩骂终于做出来了. 这个是基于session

Android中Volley框架进行请求网络数据的使用_Android

问题的阐述:Android SDK中的HttpClient和HttpUrlConnection两种请求方式用来处理网络的复杂的操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等: 解决:Volley就是为解决这些而生,它与2013年Google I/O大会上被提出:使得Android应用网络操作更方便更快捷:抽象了底层Http Client等实现的细节,让开发者更专注与产生RESTful Request.另外,Volley在不同的线程上异步执行所有请求而避免

Android中Volley框架进行请求网络数据的使用

问题的阐述:Android SDK中的HttpClient和HttpUrlConnection两种请求方式用来处理网络的复杂的操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等: 解决:Volley就是为解决这些而生,它与2013年Google I/O大会上被提出:使得Android应用网络操作更方便更快捷:抽象了底层Http Client等实现的细节,让开发者更专注与产生RESTful Request.另外,Volley在不同的线程上异步执行所有请求而避免

android中Volley框架问题

问题描述 android中Volley框架问题 话说为啥我的问题基本就没解决过的 郁闷,闲话不多说,项目中有用到与服务器交互,之前都是自己写的httpurlconnection来进行传送数据,因为服务端要接受的是一个压缩后的Json字符串,之前使用如下方法将参数写入. public static String httpPost(String urlAddress,String params){ URL url=null; HttpURLConnection conn=null; Buffered

在Android中afinal框架下实现sqlite数据库版本升级的办法

     上一篇文章采用的是SQLiteOpenHelper中的onUpgrade方法实现数据库的升级.      首先获取Context: private Context mContext=this; 然后实现FinalDb内的静态方法: FinalDb.create(mContext,"afinal.db",true,2,this);    实现FinalDb的DbUpdateListener接口中的方法:       @Override public void onUpgrade

Android中XUtils3框架使用方法详解(一)_Android

xUtils简介 xUtils 包含了很多实用的android工具. xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls 最低兼容android 2.2 (api level 8) 今天给大家带来XUtils3的基本介绍,本文章的案例都是基于XUtils3的API语法进行的演示.相信大家对这个框架也都了解过, 下面简单介绍下XUtils3的一些基本知识. XUtils3一共有4大功能:注解模块,网络

Android中XUtils3框架使用方法详解(一)

xUtils简介 xUtils 包含了很多实用的android工具. xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls 最低兼容android 2.2 (api level 8) 今天给大家带来XUtils3的基本介绍,本文章的案例都是基于XUtils3的API语法进行的演示.相信大家对这个框架也都了解过, 下面简单介绍下XUtils3的一些基本知识. XUtils3一共有4大功能:注解模块,网络

Android中3种图片压缩处理方法

  这篇文章主要介绍了Android中3种图片压缩处理方法,本文讲解了质量压缩方法.获得缩略图.图片缩放三种方法并分别给出示例代码,需要的朋友可以参考下 Android中图片的存在形式: 1:文件形式:二进制形式存在与硬盘中. 2:流的形式:二进制形式存在与内存中. 3:Bitmap的形式 三种形式的区别: 文件形式和流的形式:对图片体积大小并没有影响.也就是说,如果你手机SD卡上的图片通过流的形式读到内存中,在内存中的大小也是原图的大小. 注意:不是Bitmap的形式. Bitmap的形式:图

Android 中美腻的下划线

本文讲的是Android 中美腻的下划线, 在过去两年里,我经常发现一些尝试去如何提高有关在网页中渲染下划线文本修饰的文章和库.此类问题也同样发生在Android(平台):下划线的文本修饰与降部相交.比较下Android当前如何绘制下划线文本(上图)以及它的替代方案(下图): 你更喜欢哪一种? 尽管我完全认可这些努力,但是我从未喜欢过任何公开的解决方法.目前最新的技术(追求艺术般的状态)-毫无疑问地会强迫开发者们受限于CSS-似乎是通过绘制线性渐变以及多重阴影(我见过多达12层的!)来实现的.这