如何保持用户登录会话?

问题描述:

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

但是,我想保持用户在本地的会话,所以用户在每次运行应用程序时都不必再次登录。

所以,我想是这样的:

  • 首次用户,他打开应用程序,注册和登录。
  • 在应用程序中做一些事情并关闭它。
  • 再次打开应用程序,用户被识别出来,所以他不需要再次登录。

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

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

是的,偏好将工作。在您的onCreate()

mPrefs = PreferenceManager.getDefaultSharedPrefs(this); 

而且在某些函数获取用户登录后呼吁:

用于此目的
SharedPreferences.Editor edit = mPrefs.edit(); 
edit.putString("app_username", username); 
edit.putInt("app_userid", userId); 
edit.commit(); 

使用共享偏好.. 尝试下面的代码....:

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