【发布时间】:2014-08-16 00:14:08
【问题描述】:
我正在开发一个 Android 应用程序,我对此有点陌生。我目前正在尝试做的是保持用户登录。要登录,我必须向 API 发出请求并发送用户电子邮件和密码,这将返回一个我管理得很好的 JSONObject。我有一个 CookieStore 变量来获取 cookie 并将它们存储到我的 SharedPreferences 中。
我刚刚意识到如果我关闭应用程序,我的 cookie 会丢失,即使应用程序恢复,我也需要继续向 API 发出请求,因为用户已经登录。我试图在我的一项活动的 onResume() 方法中“恢复”cookie,但这并不像我想要的那样工作。如果我在恢复我的应用程序后尝试使用 CookieStore.getCookies() 获取 cookie,则该列表为 null。
有人告诉我,我可以使用 loopj 的 AsynHttpClient 并使用 PersistentCookieStore 管理我的 cookie,但这不会让我遇到同样的问题吗?每次我恢复我的应用程序时,我都会失去 PersistentCookieStore 实例的价值,对吧?
所以我的问题是:
如何恢复 cookie 以保持它们的持久性并让我能够继续向 API 发出请求?
希望任何人都可以帮助我。
提前致谢。
【问题讨论】:
-
使用 sharedpreferences 存储它应该可以工作。您可以在需要时检索它。
-
是的,但事实并非如此。问题是如果我关闭应用程序并尝试向 API 发出新请求,我无法告诉 API 我是同一用户,因为我丢失了 cookie。我应该在提出请求的那一刻从共享偏好中恢复它们吗?我需要 cookie 的哪些信息?名称、值、域、路径和版本?
-
sharepreferences 将起作用。检索 cookie 并将其发送到服务器