Volley网络库(Google IO 2013)不支持开箱即用的Cookie。对于其他Android网络库也可能是这样。希望它很快就会被添加,因为很多休息服务都需要cookie。因此会话cookie需要在某处维护,所以我的问题是你是否必须将cookie保存在android客户端的哪个位置?
1)在SharedPreferences内? 2)在一些类的静态成员变量里面,比如应用程序类? 3)以上都不是。
将Cookie放入SharedPreferences而不是静态成员变量有什么好处。 还有需要实现cookie的超时吗?
现在通常这是Http堆栈的一个功能来处理这个问题。但是,根据Android的版本,齐射会在HttpClient和HttpConnectionURL之间动态切换。所以我不确定是否可以将这两个客户端都设置为始终返回cookie?
由于
答案 0 :(得分:1)
SharedPreferences和静态成员之间的最大区别在于SharedPref将在多个会话中存活。也就是说,当您的应用程序离开内存时,静态成员将始终重置为null,只要它不是最前端的应用程序,它就可以执行此操作。 SharedPref受到合理保护(不要使用MODE_WORLD_READABLE!),因此将它们保留在那里并不是一个坏主意。
关于超时,您可以随时尝试与已保存的cookie建立连接,然后在遇到服务器的超时错误响应时再获取一个新的(通过再次登录)。