2012-01-20 2 views
0

응용 프로그램의 로그인을 만들었습니다. 나는 사용자 이름과 암호를 입력 한 다음 확인란을 클릭하면 사용자 이름과 암호가 기억됩니다. 그러나 확인란을 클릭 한 후 변경하면 저장되지 않습니다. 이 문제를 해결할 수있는 방법이 있는지 궁금해하며 어떻게해야할까요? 내가 생각하는 것은 editext에있는 내용을 지속적으로 저장하는 edittext를 클릭하는 것입니다. 기본적으로 체크 박스를 클릭하는 동안 사용자가 암호 또는 사용자 이름을 변경하는 동안 동적으로 저장되는 항목입니다.Android 로그인 기억 확인란

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(); 

} 

답변

1

내가 생각하는 가장 간단한 해결 방법은 로그인 (또는 무엇이든) 버튼을 눌러시 로그인 정보의 저장을하는 것입니다. 버튼을 누를 때 EditText에서 값을 가져와 SharedPreferences에 저장합니다.

+0

감사합니다. 좋은 간단한 해결책입니다. 감사 – Aaron

1

checkbox를 선택했을 때 Saveprefernces으로 전화를 걸었다 고 생각합니다. 대신 유효한 로그인 쌍인 사용자 이름 : 암호 쌍이 저장되도록 로그인이 성공했다는 것을 알게되면이를 수행해야합니다.