Android логин запомнить меня - PullRequest
0 голосов
/ 21 января 2012

Я создал логин для приложения.Я понял, что если вы введете имя пользователя и пароль, то установите флажок, чтобы запомнить имя пользователя и пароль.Однако, если вы сделаете какие-либо изменения после того, как нажмете флажок, они не будут сохранены.Мне интересно, есть ли способ исправить это и как бы я справился с этим.Я думаю, что когда вы нажимаете на тексте редактирования, он постоянно сохраняет то, что находится в тексте.По сути, что-то, что будет динамически сохраняться, пока пользователь изменяет пароль или имя пользователя, когда флажок установлен.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_log_in);
    SharedPreferences.Editor editor;

    name = (EditText) findViewById(R.id.userName);
    password = (EditText) findViewById(R.id.password);
    button = (Button) findViewById(R.id.Button01);
    error = (TextView) findViewById(R.id.invalid);
    error.setVisibility(View.INVISIBLE);
    checkbox = (CheckBox) findViewById(R.id.remember);


    LoadPreferences();
    LoadPreferences1();
}


public void rememberInfo(View view) {
        SavePrefernces("MEM1", name.getText().toString());
        SavePrefernces("MEM2", password.getText().toString());


}

private void LoadPreferences1() {
    SharedPreferences shardPreferences = getPreferences(MODE_PRIVATE);
    String strSavedMem2 = shardPreferences.getString("MEM2", "");
    password.setText(strSavedMem2);


}

private void LoadPreferences() {
    SharedPreferences shardPreferences = getPreferences(MODE_PRIVATE);
    String strSavedMem1 = shardPreferences.getString("MEM1", "");
    name.setText(strSavedMem1);


}

private void SavePrefernces(String key, String value) {
    SharedPreferences shardPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = shardPreferences.edit();
    editor.putString(key, value);
    editor.commit();

}

Ответы [ 2 ]

1 голос
/ 21 января 2012

Я полагаю, что вы звоните Saveprefernces, когда флажок установлен.Вместо этого вы должны сделать это, как только узнаете, что ваш вход выполнен успешно, так что сохраняется только действительная пара имя пользователя: пароль

1 голос
/ 21 января 2012

Я думаю, что самое простое решение - сохранить данные для входа в систему во время нажатия кнопки входа (или чего-либо еще).Поэтому, когда кнопка нажата, получите значения из обоих EditText s и сохраните их в SharedPreferences.

...