使用SharedPreferences保存登录状态,逻辑错误并传递Bundle

时间:2017-11-27 17:57:00

标签: android login sharedpreferences bundle

我正在开发我的第一个网络应用程序并遇到一个小问题,我无法找到解决方案。

在我的主屏幕上,我可以选择登录。如果您登录,我的登录类会将每个意图的数据传递给我的主要活动,以便我可以更新我的UI。这是我的主要活动:

    // Just to make sure Loginstatus is false on first run
    loginstatus = false;
   //Get saved data from SharedPreferences
    loginstatus = PreferenceData.getUserLoggedInStatus(this);
    Log.d("Loginstatus",""+loginstatus);

    if (extras != null) {

            login = extras.getString("loginy");
            idt = extras.getString("id");
            name = extras.getString("name");
            vorname = extras.getString("vorname");
            email = extras.getString("login");
            zsm = vorname + " " + name;

    }

    else {

        // Take saved Data instead the Bundle Data form first Login
        idt = PreferenceData.getUSERID(this);
        name = PreferenceData.getNachname(this);
        vorname  = PreferenceData.getVorname(this);
        email = PreferenceData.getLoggedInEmailUser(this);

    }

启动时显然额外是NULL。如果登录成功,我的登录类会传递数据并且我的主要活动再次被调用,因此额外内容是非空的,我可以使用该信息更新我的UI。此外,如果登录为真,我将我的数据保存在SharedPrefernces中。

问题是,我想在完成关闭我的应用程序后保存我的登录状态。所以我重新打开我的应用程序,我想使用我的SharedPrefernces数据,但不知何故,额外的仍然是非空的,我无法找到解决方法。

0 个答案:

没有答案