2014-09-02 2 views
0

SharedPreference에 저장 한 데이터가 있습니다. 버튼을 클릭하면 pref.clear() ad pref.commit()을 호출하여 사용자가 로그 아웃되고 sharedPreference가 지워집니다. 사용자가 다시 로그인하려고하면 편집기가 commit()으로 호출되지만 새 값은 저장되지 않습니다. 삭제 후 공유 환경 설정이 저장되지 않는 이유는 무엇입니까?SharedPreference - 지우기 및 읽기

지우기 부분 : CLOSED

editor.putString("bucket", bucket); 
      editor.putString("profileid", profileid); 
      editor.putString("username", user); 
      editor.putString("password", pass); 
      editor.commit(); 

: 다시 추가 부분

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor sa = prefs.edit(); sa.clear(); sa.commit(); 

바닥에 있지만 답을 찾고 다른 사람에 대한 대답은, 내가 대답을 받아

+0

무엇이'editor'입니까? 나는 그것이'SharedPreferences.Editor'이지만, 단지'editor'를 선언 한 곳의 코드를 확인하기위한 것임을 압니다. –

답변

0

어떻게 편집기를 초기화합니까 (내가 공유 한 것은 SharedPreferences.Editor 임). 나는 편집기를 사용하기 위해 다음을 사용한다.

SharedPreferences settings = getActivity().getSharedPreferences("a_string", Activity.MODE_PRIVATE); 
    SharedPreferences.Editor editor = settings.edit(); 

나는 데이터를 지우고 저장하는 것과 같은 방식으로이 작업을 수행합니다.

이 도움이되지 않는 경우 자세한 정보를 게시하십시오.

0

실은 내 잘못이지만, 내가 처음 시작했을 때 오타가있었습니다. 미안 해요!

0

사용자가있을 때 당신은 위의 작업을 수행 할 것 나를 SharedPreferences

SharedPreferences prefs = getApplicationContext().getSharedPreferences("yourPrefName",MODE_PRIVATE); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("bucket", bucket); 
editor.putString("profileid", profileid); 
editor.putString("username", user); 
editor.putString("password", pass); 
editor.commit(); 

에 몇 가지 데이터를 추가하여 Activity .IN SharedPeferences에서 데이터를 읽기/추가/제거하는 방법의 일 예를 보여 드리죠 로그 아웃하여 Activity의 코드 그래서 Button

SharedPreferences settings = getApplicationContext().getSharedPreferences("yourPrefName",MODE_PRIVATE); 
SharedPreferences.Editor editor = settings.edit(); 
editor.clear(); 
editor.commit(); 

를위한 당신의 onClickListener 내부의 사용자 로그 아웃, 당신은경우 확인해야 할 때 successfully.Now 로그인210 값은 이미 설정되어 있습니다. 설정 한 경우 다시 로그인하지 않고도 홈 화면으로 사용자를 리디렉션 할 수 있습니다.