【问题标题】:Cookies Android, some clarificationsCookies Android,一些说明
【发布时间】:2013-08-05 14:31:28
【问题描述】:

我对 cookie 有点困惑,尤其是在实现了这个问题的 iOS 版本之后。

我想在用户登录后使用 cookie 来保存数据。使用此 cookie,用户不必再次登录(或长时间登录)。我见过几个不同的 android 实现,也许我很天真,但我希望它更简单。所以有几个问题:

  1. 如何找到我已有的 cookie?我需要使用 CookieManager 还是 CookieStore。我注意到这些有两种不同的定义,一种用于 Java,另一种用于 Android?这个比那个好吗。

  2. 我需要 DefaultHTTPClient 吗?当我初始化 httpClient 时,是否需要存储对创建 cookie 的客户端的任何类型的引用?

任何关于一般过程的解释也将不胜感激。

谢谢

【问题讨论】:

  • cookie 是硬性要求,还是 API 可以返回 json 中的信息?
  • 我正在从服务器下载“cookie”本身,并且文件本身包含 json。我想存储它并通过多个会话访问它。我愿意接受所有关于它是否真的是 cookie 的想法。
  • 在 ios 版本中,我最终用字典初始化了 NSCookie 并保存了它。 android 版本似乎需要更多设置...
  • 你不必使用cookies,它只是一种存储机制。查看 SharedPreferences,它只能使用设置它们的应用程序访问。你可以像使用 iOS 中的 NSCookie 字典一样使用它。

标签: android cookies


【解决方案1】:

对于您所询问的任务,我建议SharedPreferences,但是做更多的研究肯定会对您将来有所帮助。

Android Developer Site 有一个关于存储选项以及如何/何时使用它们的非常好的页面。

示例:

SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
String token = settings.getString("sessionTokenCookie", false);
myAppSingleton.setToken(token);

另外,我建议将OkHttp 用于您的 HTTP 库。这将解决您自己使用 Java 或 Apache 实现时可能遇到的许多问题。然后,您可以将令牌添加到每个请求的标头中,从您存储它的 App Singleton 中获取它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 2015-06-22
    • 2023-04-01
    • 2011-06-17
    • 1970-01-01
    相关资源
    最近更新 更多