当前位置: 首页 > 编程笔记 >

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

董花蜂
2023-03-14
本文向大家介绍Android中Volley框架下保持会话方法,包括了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框架下保持会话方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍Android Volley框架使用方法详解,包括了Android Volley框架使用方法详解的使用技巧和注意事项,需要的朋友参考一下 本文主要从两个方面对Android Volley框架的使用方法进行讲解,具体内容如下 一、网络请求 1.get方式请求数据    2.post方式请求数据    3.请求Json数据 二、图片加载 1.ImageRequest加载图片 2.Imag

  • 本文向大家介绍Android Volley框架全面解析,包括了Android Volley框架全面解析的使用技巧和注意事项,需要的朋友参考一下  Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpCl

  • 本文向大家介绍Android Volley框架使用源码分享,包括了Android Volley框架使用源码分享的使用技巧和注意事项,需要的朋友参考一下 过去在Android上网络通信都是使用的Xutils 因为用它可以顺道处理了图片和网络这两个方面,后来发觉Xutils里面使用的是HttpClient  而Google在6.0的版本上已经把HttpClient废除了,所以开始寻找新的网络框架,ok

  • 我正在尝试验证Spring启动后端并获取一些数据 身份验证工作正常。以下是响应标题: 然后我试着从Spring启动中获取项目。这是我的HTTP GET的标题: 它不使用会话cookie,因此会抛出一个错误,说没有标识。 如何使用angular 4.3解决此问题?

  • 问题内容: 我正在尝试使用Selenium Web驱动程序和node js自动执行几个页面。我可以登录,但是登录后我想使用由Web驱动程序启动的同一会话,以便可以在受会话保护的页面上进行自动测试。这是我的尝试 登录后我不小心丢弃了浏览器吗? 问题答案: 您可能只在处理计时问题。硒移动 非常快 。比您作为用户进行交互的方式要快得多。因此,它通常以似乎无法预测的方式起作用。但这仅仅是因为Seleniu

  • 我正在构建一个反向代理服务器,它将授权http请求并将其传递给一些内部API。 我根据DB中的条目授权传入请求。 这个项目中的性能是优先的——反向代理服务器不应该增加太多响应时间。 简而言之: 我正在使用来查询数据库。我在Spring配置中的init期间打开Hibernate会话: 然后我将会话注入DAO层,并在read方法中使用它: 正如您所看到的,我并不是在每次DAO调用中都关闭/打开会话。我

  • 本文向大家介绍Android使用Volley框架定制PostUploadRequest上传文件,包括了Android使用Volley框架定制PostUploadRequest上传文件的使用技巧和注意事项,需要的朋友参考一下 发现问题 项目中有发表动态的功能,该功能可以将文本和图片上传至服务器。 Volley通过定制PostUploadRequest实现文件上传的功能,本文以一张图片上传为例。 数据

  • 问题内容: 我用来登录远程服务器。 问题 : 当我在工作场所时,它始终保持连接并且可以正常工作。不幸的是,在我在家中与远程服务器连接后,终端会在10到15分钟内死机。 控制台上没有错误/超时报告,但是光标不能再移动了。 输入检查登录用户时,那里有一些僵尸登录用户,我必须手动将其杀死。 这很烦人。谁能帮我? 问题答案: 在客户端运行的ssh守护程序(sshd),如果客户端变为静默(即,不发送信息),