我創建了一個用戶必須輸入密碼(在本例中爲「test」)的登錄活動(代碼爲MainActivity
),如果密碼正確,他們連接到SuccessActivity
。在此之前一切正常。保存該用戶輸入的正確密碼(保持登錄狀態)
所以,現在我想保存用戶輸入正確的密碼。我這樣做有:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences sharedPreferences = getPreferences(this.MODE_PRIVATE);
final EditText editTextPassword = (EditText) findViewById(R.id.editTextPassword);
final Button buttonLogin = (Button) findViewById(R.id.buttonLogin);
buttonLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(editTextPassword.getText().toString().equals("test")) {
Log.d("LOGIN", "Passwort right!");
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(PREF_NAME, "logged");
editor.commit();
startActivity(new Intent(MainActivity.this, SuccessActivity.class));
}
else {
Toast.makeText(MainActivity.this,
"Passwort wrong!", Toast.LENGTH_LONG).show();
}
}
});
在此之後,我希望用戶,如果他回去或重新啓動應用程序,自動打開SuccessActivity。我這樣做:
String Login = sharedPreferences.getString(PREF_NAME, "");
if(Login.equals("test")) {
Intent intent = new Intent(this, SuccessActivity.class);
startActivity(intent);
}
}
但是,我認爲你已經可以認爲它,它不工作。如果用戶輸入的密碼正確,SucessActivity將打開,但如果用戶再次打開該應用程序,則必須再次輸入密碼。
我是新來的SharedPreferences
。
謝謝!現在我必須找出如何在註銷中調用anthor活動中的首選項... –