有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何保持用户登录的会话?

我有一个需要用户注册的应用程序。我已经把应用程序连接到我的服务器中的PHP,以执行注册/登录的逻辑,所以,这根本不是问题

但是,我想让用户的会话保持在本地,这样用户就不必在每次运行应用程序时再次登录

所以,我想要这样的东西:

  • 第一次使用时,他打开应用程序,注册并登录
  • 对应用程序执行一些操作并关闭它
  • 再次打开应用程序,用户将被识别,因此无需再次登录

我只需要存储一个ID和一个用户名(都是从登录php方法中的DB中获取的)。最好的方法是什么

我考虑过做一个自定义的首选项,将数据存储在文件中,甚至存储在本地数据库(sqlite)中。有什么建议吗


共 (2) 个答案

  1. # 1 楼答案

    为此,请使用共享首选项。。 请尝试以下代码:

    PreferenceManager pm = PreferenceManager.getDefaultSharedPrefs(this);
    SharedPreferences.Editor edit = pm.edit();
    edit.putString("user", username);
    edit.putInt("pwd", password);
    edit.commit();
    
  2. # 2 楼答案

    是的,偏好会起作用。在你的onCreate()中:

    mPrefs = PreferenceManager.getDefaultSharedPrefs(this);
    

    在用户登录后调用的某些函数中:

    SharedPreferences.Editor edit = mPrefs.edit();
    edit.putString("app_username", username);
    edit.putInt("app_userid", userId);
    edit.commit();