在共享首选项中存储数据不起作用

时间:2013-10-26 05:33:09

标签: android

我正在研究android共享首选项。我的要求是当应用程序打开时,带有提交按钮的edittextbox将会出现 来。单击提交按钮后,它将移至第二页。在这里,关闭应用程序后,如果我再次打开 第二页应该直接打开。我正在使用自动登录功能。所以为此,我使用了共享偏好概念。但我的代码不起作用。当我 我再次打开应用程序,它只显示第一页。

请帮我解决这个问题。

我的代码:

Page1:

    private SharedPreferences mPreferences;
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edt = (EditText) findViewById(R.id.edt);
mPreferences = getSharedPreferences("CurrentUser", MODE_PRIVATE);

}

public void submit(View v) 
{

   userphnnumber = edt.getText().toString().trim();
SharedPreferences.Editor editor = mPreferences.edit();

editor.putString("UserName", userphnnumber);

editor.commit();

}

Page2:

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);

        mPreferences = getSharedPreferences("CurrentUser", 0);
        myVal = mPreferences.getString("UserName", null);
        System.out.println("the myval" + myVal);
}

1 个答案:

答案 0 :(得分:0)

在第一个“页面”的onCreate里面,执行此操作。

mPreferences = getSharedPreferences("CurrentUser", Context.MODE_PRIVATE);
String myVal = mPreferences.getString("UserName", null);
if(myVal != null) {
     startActivity(new Intent(this, SecondPage.class));
}

在提交功能中,执行此操作。

String userphnnumber = edt.getText().toString().trim();
SharedPreferences.Editor editor = mPreferences.edit();
editor.putString("UserName", userphnnumber);
editor.commit();

希望这有帮助。