0
public class LoginActivity extends Activity{

final String defaultPassword = "123456";
Button login, cancel;
EditText input;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.security);

    //SharedPreferences from other Activity
    final String LOGIN_PASSWORD = "Login_Password";
    SharedPreferences loginPassword = getSharedPreferences(LOGIN_PASSWORD, 0);
    final String storedPass = loginPassword.getString("loginPassword", "");

    input = (EditText) findViewById(R.id.password);

    cancel = (Button) findViewById(R.id.cancel);
    cancel.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {                
            finish();
        }
    });

    login = (Button) findViewById(R.id.login);
    login.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            String inputPass = input.getText().toString();

            if (!inputPass.equals("")){

                if (storedPass.equals("")){

                    if (inputPass.equals(defaultPassword)){
                        Toast.makeText(LoginActivity.this, "Success", Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent(LoginActivity.this, ActivateActivity.class);
                        startActivity(intent);
                    }
                    else{
                        Toast.makeText(LoginActivity.this, "Failed", Toast.LENGTH_SHORT).show();
                        input.setText("");
                    }
                }
                else{

                    if (inputPass.equals(storedPass)){
                        Toast.makeText(LoginActivity.this, "Success", Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent(LoginActivity.this, ActivateActivity.class);
                        startActivity(intent);
                    }
                    else{
                        Toast.makeText(LoginActivity.this, "Not matched", Toast.LENGTH_SHORT).show();
                        input.setText("");
                    }
                }   
            }
            else{
                Toast.makeText(LoginActivity.this, "Nothing", Toast.LENGTH_SHORT).show();
                input.setText("");
            }
        }
    });
}

我正在设计一个访问应用程序的登录页面,最初用户第一次使用应用程序时,没有设置密码,所以使用默认密码“123456”访问应用程序,用户设置密码后,默认密码不能用于访问应用程序...所以现在我必须检索存储在另一个活动共享首选项中的用户设置密码。所以下次用户访问应用程序时,我可以将用户输入与存储的密码进行比较,但我该如何实现呢?我的编码有问题吗?

4

1 回答 1

0

使用 时getSharedPreferences(LOGIN_PASSWORD, 0),请确保LOGIN_PASSWORD两个活动中的值相同。否则,您将打开两个不同的首选项。

于 2012-05-16T16:49:53.327 回答