如何保持用户登录会话?
问题描述:
我有一个需要用户注册的应用程序。我已经将应用程序连接到了我的服务器中的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();