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そうしないと、2 つの異なる設定を開くことになります。

于 2012-05-16T16:49:53.327 に答える