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