我想在android中使用共享首选项实现一次性注册屏幕,但我';我无法获取以前的共享首选项

我想在android中使用共享首选项实现一次性注册屏幕,但我';我无法获取以前的共享首选项,android,sharedpreferences,Android,Sharedpreferences,我想检索以前存储的共享首选项。我已经实施了第二项活动。我希望该用户只输入一次数据 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sp = this.getSharedPreferences(TEXT_VALUE_KEY, Context.MO

我想检索以前存储的共享首选项。我已经实施了第二项活动。我希望该用户只输入一次数据

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    sp = this.getSharedPreferences(TEXT_VALUE_KEY, Context.MODE_PRIVATE);


    completed = sp.getBoolean(TEXT_VALUE_KEY, false);

    if (completed == true) {
        Intent intent = new Intent();
        intent.setClass(this, Welcome.class);
        Toast.makeText(getBaseContext(), "User Already Registered", Toast.LENGTH_SHORT).show();
        startActivity(intent);
        finish();
    } 

    number = (EditText) findViewById(R.id.user_number);
    btn= (Button) findViewById(R.id.Register_Button);






}

您似乎没有正确地保存和检索共享首选项。要保存首选项,请尝试此操作,它更简单

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences( this);
Editor edit = sp.edit();
edit.putBoolean("completed",x);
//You can put more objects
edit.commit();
要获得共享的首选项

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences.(this);
boolean completed = sp.getBoolean("completed",false);

此外,您正在放置字符串并尝试获取布尔值。

您是如何保存以前的共享首选项的?请把密码寄出去。当completed==false时,也要祝酒。@Perroloco:我想获取以前存储的共享首选项。@dhaval.s:以下是保存数据sp=getSharedReferences(MainActivity.this,MODE_PRIVATE)的代码;SharedReferences.Editor=prefs.edit();编辑器.putString(REG_ID,regId);commit();finsih();我尝试过这种方法,但问题是我得到了以前的活动。我希望在用户注册应用程序后,应显示下一个活动。因此,在注册活动中,存储用户数据后,在首选项中输入一个值为“true”的布尔值。然后在注册活动开始时进行检查,加载首选项并检查是否(boolean==true)。如果为true,则通过intent启动第二个活动。如果您在上面的答案中看到,如果布尔值不存在,则默认值为false。所以你的代码会运行得很好。是的,我在末尾放了布尔值,但仍然没有得到任何以前的数据。当我进入管理应用程序设置myapp时,它显示我已保存了一些数据量。您如何知道您没有获得任何价值?你以前的数据是什么意思?如果您的设备是根设备,请尝试进入/data/data/[your package name]/shared\u prefs/,然后打开其中的文件,查看是否存储了任何数据,如果是,其值是多少。此外,您还可以在加载首选项并调试应用程序后放置断点。将布尔值存储在变量中后,此操作将停止。然后查看存储在其中的值。