Android开发中怎样使用cookieManager来管理cookie
2015-12-10 19:26
281 查看
在项目开发中遇到一个问题,就是在登录界面向服务器发送登录请求后,然后就跳到一个与用户订阅有关的界面,然后,我想服务器发送的是正确的Url,用Log打印出返回结果,但是只有一个html的元素信息。通过对这个html的元素信息发的分析,与后台同事分析发现,我的url没有cookie 信息。在登录界面向服务器发送的登录验证信息,但是服务器没有存储相应的用户信息,就导致我登录进去后向服务器索要用户相关信息时,服务器判断是一个新用户,就返回了一个登录界面hxml给我。所以就出现了开头那个问题,那么怎样才能解决这个问题呢,在网上查了很多资料,本人发现了一个简单易用的方法,那就是用cookieManager来管理cookie。下面就是使用步骤;
1、首先 在android应用程序开始的activity中的oncreaty()方法中注册cookiemanager。如下:
2、然后在到网络请求的那个类中设置如下 设置和获取cookie的方法
3、最后一步就在urlConnection.openConnectin()的后面设置如下方法:
好了到这里就完成了cookie的设置
3. 过期按需处理一下
附1:cookie的获取
1、首先 在android应用程序开始的activity中的oncreaty()方法中注册cookiemanager。如下:
<span style="font-size:18px;">//设置网络请求cookie CookieSyncManager.createInstance(this);</span>
2、然后在到网络请求的那个类中设置如下 设置和获取cookie的方法
<span style="font-size:18px;"> protected String getCookie() { CookieManager cookieManager = CookieManager.getInstance(); String cookie = cookieManager.getCookie("cookie"); if (cookie != null) { return cookie; } else { return ""; } } protected void setCookie(String cookie) { CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setCookie("cookie", cookie); }</span>
3、最后一步就在urlConnection.openConnectin()的后面设置如下方法:
uc = (HttpURLConnection) new URL(url + "?" + paramsStr.toString()).openConnection(); uc.setRequestProperty("Cookie", getCookie());
<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'宋体';font-size:12.0pt;"><span style="background-color:#344134;">setCookies</span>(uc.getHeaderFields())<span style="color:#cc7832;">;</span>
好了到这里就完成了cookie的设置
3. 过期按需处理一下
附1:cookie的获取
response.headerFields = conn.getHeaderFields(); setCookies(response.headerFields);
/** * 存储cookie * @param headerFields */ protected void setCookies(Map<String, List<String>> headerFields) { if (null == headerFields) { return; } List<String> cookies = headerFields.get(COOKIES_KEY); if (null == cookies) { return; } for (String cookie : cookies) { setCookie(cookie); } }
相关文章推荐
- Android——保存并读取文件
- 详解:Android嵌套滑动机制 (NestedScrolling)
- Android资源的定义和引用
- Android使用bit.ly的api获取url 短连接
- Android 布局之DrawLayout
- Android Dialog I-创建一个dialog
- Android进阶之路——RecyclerView(一)
- android调用jni
- MuPDF for Android编译过程小结
- android项目启动应用,卸载应用,分享
- android 手机虚拟按键 震动过程的追溯(1)
- 【常用工具类】验证码倒计时帮助类的实现
- android:launchMode的参数含义
- Android 模糊效果
- Android四大组件之Service详解
- Android知识点总结:Android选取、拍照与裁剪图片相关流程分析
- Android之Android apk动态加载机制的研究
- Android类动态加载技术
- android中使用csv文件来存储数据中遇到的几个问题
- Android 4层框架