EDIT: Die verschiedenen Bezeichnungen machen mich etwas konfus ... habe mich mit den SharedPreferences noch nicht auseinandergesetzt - user_pin, pin ...
Gäbe es da nicht die Möglichkeit einer Gleichbenennung? Du musst dann nur darauf achten, dass du die richtige Bezeichnung nutzt
Du könntest in der onCreate-Methode abfragen, ob die (user_)pin leer (bzw. nicht gesetzt) ist.
Leider habe ich momentan keine Möglichkeit, das zu testen - bitte entschuldige, sollte meine Antwort dir nicht helfen können oder gar inkorrekt sein.
[...]
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Activity_Passwort_Abfragen);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
pin_eingabe = (EditText) findViewById(R.id.et_pin_eingabe);
pins_pref = getApplicationContext().getSharedPreferences("UserPin", Context.MODE_PRIVATE);
if (pins_pref.getString("pin", null).equals("")) {
// Ist user_pin gleich leer, wird user_pin standardmäßig zu "0000"
SharedPreferences.Editor edit = pins_pref.edit();
edit.putString("pin", "0000");
edit.commit();
}
}
[...]
Alles anzeigen
Ansonsten prüfst du genauso, wie es in der if-Abfrage steht, ob die eingegebene Pin der aus den SharedPreferences gleicht.
Diese Abfrage folgt dann beim Drücken eines Buttons z.B. - ich weiß ja nicht, ob es da etwas Vorgefertigtes gibt bzw. du das auch nutzt.
[...]
if(pins_pref.getString("user_pin", null).equals(pin_eingabe)) {
// falls die Eingabe korrekt ist, mache weiter ...
}
else {
// ... ansonsten folgt eine Meldung bspw. (:
}
[...]