如何使用sharedPreferences创建登录会话?
登录hostinger主机数据库中存储的电子邮件和密码。
登录会话意味着检查用户是否登录。如果没有,请转到登录页面,否则转到活动页面。
答案 0 :(得分:0)
最佳做法是在从服务器端成功登录后生成令牌,并将该令牌存储在SharedPreferences中。 每次用户对服务器/ API进行新调用时,都要在标头中包含令牌并验证令牌是否有效/未过期。
将值放入共享首选项
SharedPreferences prefs = context.getSharedPreferences("NAME", FLAG);
prefs.putString(key, value);
prefs.commit();
从共享偏好设置中获取价值
prefs.getString(key, "defaultValue");
答案 1 :(得分:0)
成功登录后,在开始下一个活动之前添加:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("isLogin",true);
editor.commit();
然后开始下一个活动。 现在除onResume方法中的LoginActivity之外的所有其他活动添加:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
if(!preferences .getBoolean("isLogin"))
{
//TODO go to loginActivity
}
//else continue
多数民众赞成。
答案 2 :(得分:0)
试试这个,
如果用户登录,则将其用户ID保存到SharedPreferences
SharedPreferences preferences = getSharedPreferences("AppPrefs", MODE_PRIVATE);
SharedPreferences.Editor PrefsEditor = preferences.edit();
int user_id=101;
//set value
PrefsEditor.putInt("USERID", "user_id");
在启动画面中检查:
//get value
int user_id=preferences.getInt("USERID", -1);
if (user_id == -1) {
Intent intent = new Intent(mContext, LoginActivity.class);
startActivity(intent);
finish();
} else {
Intent intent = new Intent(mContext, HomeActivity.class);
startActivity(intent);
finish();
}