это моя логика:Сохранить пользователя и пароль Android
У меня есть пользователь:
user = new User(newUsername, newPassword);
Random ID + пароль генерируемый для пользователя.
uniqueName = UUID.randomUUID().toString();
uniquePassword = UUID.randomUUID().toString();
С помощью диалогового окна пользователь может изменить свой пароль, что происходит следующим образом.
newUsername = userField.getText().toString();
newPassword = passwordField.getText().toString();
я прохожу его к модели:
user.setUsername(newUsername);
user.setPassword(newPassword);
Модель выглядит следующим образом:
public User(String username,String password){
this.username = username;
this.password = password;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password = password;
}
Однако, когда я закрыл приложение или изменить Активности пароль и пользователь не сохраняется, любой намек на то, как сохранить пользователя и пароль, чтобы при выходе пользователя из системы он сохранял пароль/идентификатор?
Я добавил SharedPreferences следующим образом:
private void savePreferences(){
SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(PREF_UNAME, newUsername);
editor.putString(PREF_PASSWORD, newPassword);
editor.commit();
}
private void loadPreferences(){
SharedPreferences settings = getSharedPreferences(PREFS_NAME,
Context.MODE_PRIVATE);
mUsername.setText(settings.getString(PREF_UNAME, newUsername));
mPassword.setText(settings.getString(PREF_PASSWORD, newPassword));
}
я называю savePreferences в OnPause() и loadPreferences в onResume(). Однако, когда я закрываю действие два раза и снова открываю его, имя пользователя и идентификатор i исчезают. Есть еще намеки?
Может быть, сохранить его в БД SQLite? – Dragondraikk