公司经理把我拉出来,死马当活马医,做一个安卓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),如果客户端变为静默(即,不发送信息),