0

Volley 网络库 (Google IO 2013) 不支持开箱即用的 cookie。这也可能适用于其他 android 网络库。希望它会尽快添加,因为许多休息服务确实需要 cookie。因此会话 cookie 需要在某个地方维护,所以我的问题是,如果您必须将 cookie 保存在 android 客户端中的某个地方,它应该在哪里?

1)在SharedPreferences里面?2)在某个类的静态成员变量中,比如应用程序类?3)以上都不是。

与静态成员变量相比,将 cookie 放入 SharedPreferences 有什么优势。还有没有必要实现 cookie 的超时?

现在通常这是处理此问题的 Http 堆栈的函数。然而,根据 Android 的版本,volley 在 HttpClient 和 HttpConnectionURL 之间动态切换。所以我不确定这两个客户端是否都可以设置为始终返回 cookie?

谢谢

4

1 回答 1

1

SharedPreferences 和静态成员之间的最大区别在于 SharedPref 将在多个会话中存活。也就是说,当您的应用程序离开内存时,静态成员将始终重置为 null,只要它不是最前沿的应用程序,它就可以这样做。SharedPref 受到了合理的保护(不要使用 MODE_WORLD_READABLE!),因此将它们保留在那里并不是一个坏主意。

关于超时,您可以随时尝试与保存的 cookie 进行连接,然后在遇到来自服务器的超时错误响应时获取一个新的(通过再次登录)。

于 2013-08-26T22:41:05.047 回答