【问题标题】:Should session cookie be kept in shared preferences?会话 cookie 是否应该保存在共享首选项中?
【发布时间】:2013-08-29 12:02:38
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

标签: android android-volley


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多