我应如何在android中维护会话以及应该存储什么(散列密码或其他内容)以保持登录状态

时间:2019-04-17 22:57:07

标签: android session passwords token

我正在开发需要登录的android应用程序。我尚未为此创建后端,并且需要一些有关如何在android应用程序中保持登录状态的建议。我知道我们在创建网页时会创建会话。我想知道如何以及应在Android应用程序中存储什么,以便服务器知道登录后的后续请求来自经过身份验证的设备。我们是否需要一些令牌或如何工作?

1 个答案:

答案 0 :(得分:1)

您可以创建一个共享的首选项类来存储您的小数据(例如用户信息),并且可以创建一个如下的登录会话:-

您的偏好等级:-

public class AppPrefrences {

    private static SharedPreferences mPrefs;
    private static SharedPreferences.Editor mPrefsEditor;

    public static boolean isUserLoggedOut(Context ctx) {
        mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
        return mPrefs.getBoolean("id_logged_in", true);
    }

    public static void setUserLoggedOut(Context ctx, Boolean value) {
        mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
        mPrefsEditor = mPrefs.edit();
        mPrefsEditor.putBoolean("id_logged_in", value);
        mPrefsEditor.commit();
    }
}

当您登录应用程序时,您可以像这样在您的登录方法成功的情况下设置登录会话的会话:-

AppPreference.setUserLoggedOut(CompleteProfileActivity.this, false);

第二次打开应用程序时,您可以在启动屏幕上设置检查条件,如下所示:-

if (isUserLoggedOut(StartActivity.this)) {
                    startActivity(new Intent(StartActivity.this, LoginActivity.class));
                    finish();
                } else {
                    startActivity(new Intent(StartActivity.this, MainActivity.class));
                    finish();
                }
相关问题