使用sharedPreferences创建登录会话

时间:2017-03-08 04:17:24

标签: android android-sharedpreferences

如何使用sharedPreferences创建登录会话?

登录hostinger主机数据库中存储的电子邮件和密码。

登录会话意味着检查用户是否登录。如果没有,请转到登录页面,否则转到活动页面。

3 个答案:

答案 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();
    }