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

我有一个需要用户注册的应用程序。 我已经在我的服务器中将应用程序连接到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();