【问题标题】:May mainting the session using Shared preference in android可以在 android 中使用 Sharedpreferences 维护会话
【发布时间】:2011-08-24 09:37:05
【问题描述】:

您好,我想在我的应用程序中维护一些会话。我可以使用共享偏好来维护它吗?然后我不会用这个简单的例子给我建议正确的方法。

【问题讨论】:

标签: android session sharedpreferences


【解决方案1】:

也许你应该使用服务器来维护会话。因为正如您在这里所建议的那样,使用共享首选项,您将选择从内存中清除首选项给用户。因此,在这种情况下,如果用户清除了您的应用数据,那么您的会话概念就会失败。

【讨论】:

  • 如果用户清除应用数据,他们可能会被注销。
  • 那么简单的方法是什么。
【解决方案2】:

是的,您可以使用共享首选项。

例如,要保存用户名、密码和会话 ID,您可以:

SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();
edit.putString("User Name", username);
edit.putString("Password", password);
edit.putInt("Session ID", session_id);
edit.commit();

然后得到它们:

SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE);
username = pref.getString("User Name", "");
password = pref.getString("Password", "");
session_id = pref.getInt("Session ID", 0);

这只是一个例子,最好使用字符串常量而不是“用户名”等。

【讨论】:

  • 这取决于你,我只是举了一个如何使用共享首选项的例子,也许你根本不需要 session_id...
  • 实际上,据我所知,会话 id 的值是自行生成的。是真的吗???
  • 在这个例子中,我需要静态提供 session_id。
【解决方案3】:

您可能正在寻找onSaveInstanceState。它可以用来保存页面的状态并在以后恢复它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多