Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SharedReferences返回空字符串_Android - Fatal编程技术网

Android SharedReferences返回空字符串

Android SharedReferences返回空字符串,android,Android,在我的LoginActivity中,我设置了一个首选项,以标识用户已登录,然后切换到Welcome活动 Log.v("onPostExecute", "Login successful"); // save login session in SharedPreferences SharedPreferences settings = getSharedPreferences("LOGIN", 0);

在我的LoginActivity中,我设置了一个首选项,以标识用户已登录,然后切换到Welcome活动

            Log.v("onPostExecute", "Login successful");
            // save login session in SharedPreferences
            SharedPreferences settings = getSharedPreferences("LOGIN", 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putString("email", email);
            editor.commit();

            Intent welcomeIntent = new Intent(getApplicationContext(), WelcomeActivity.class);
            startActivity(welcomeIntent);
在我的启动程序活动(RegisterActivity)中,我正在检查
onCreate
中可能的设置,以便自动重定向用户

    // redirect to welcomeActivity if user is logged in
    SharedPreferences settings = getSharedPreferences("EMAIL", 0);
    String email = settings.getString("email", "");
    if (!email.isEmpty()) {
        Intent welcomeIntent = new Intent(getApplicationContext(), WelcomeActivity.class);
        startActivity(welcomeIntent);           
    }

电子邮件始终为空,因此在应用程序之前登录并重新启动的用户不会自动重定向。知道为什么吗?

LoginActivity
中,您使用的是“登录”:

RegisterActivity
中,您正在使用“电子邮件”:


在使用“登录”的
LoginActivity
中,对两个使用相同的方法:

RegisterActivity
中,您正在使用“电子邮件”:

在两个

上使用相同的,因为

getSharedPreferences("LOGIN", 0);
这不是吗

getSharedPreferences("EMAIL", 0);
您正在使用两个不同的SharedReference,因为

getSharedPreferences("LOGIN", 0);
这不是吗

getSharedPreferences("EMAIL", 0);

您正在使用两个不同的SharedReference

您正在两个不同的文件中编写

SharedPreferences settings = getSharedPreferences("LOGIN", 0);
 SharedPreferences settings = getSharedPreferences("EMAIL", 0);

这两行将创建两个不同的xml文件,一个名为LOGIN,另一个名为EMAIL,您正在两个不同的文件中编写

SharedPreferences settings = getSharedPreferences("LOGIN", 0);
 SharedPreferences settings = getSharedPreferences("EMAIL", 0);
这两行将创建两个不同的xml文件,一个名为LOGIN,另一个名为EMAIL

SharedPreferences settings = getSharedPreferences("LOGIN", 0);
SharedPreferences settings = getSharedPreferences("EMAIL", 0);
用这个

SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
并使用相同的名称来获得

更换这条线

SharedPreferences settings = getSharedPreferences("LOGIN", 0);
SharedPreferences settings = getSharedPreferences("EMAIL", 0);
用这个

SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
更换这条线

SharedPreferences settings = getSharedPreferences("LOGIN", 0);
SharedPreferences settings = getSharedPreferences("EMAIL", 0);
用这个

SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
并使用相同的名称来获得

更换这条线

SharedPreferences settings = getSharedPreferences("LOGIN", 0);
SharedPreferences settings = getSharedPreferences("EMAIL", 0);
用这个

SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);
SharedPreferences settings = getSharedPreferences("LOGIN", MODE_PRIVATE);

哦这真的很简单:X谢谢!哦这真的很简单:X谢谢!