2014-04-15 2 views
0

나는 다음과 같은 코드를 사용하고 있습니다 :SharedPreferences가 명백한 이유없이 삭제 되었습니까?

SharedPreferences sharedPref = getSharedPreferences(GlobalDefines.SHARED_PREFERENCES, Context.MODE_PRIVATE); 
String test = sharedPref.getString(GlobalDefines.GCM_KEY, "");   
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.clear(); 
editor.putBoolean(GlobalDefines.USER_IS_LOGGED_IN, false); 
editor.remove(GlobalDefines.USER_NAME); 
editor.remove(GlobalDefines.USER_PASSWORD); 
editor.commit(); 
test = sharedPref.getString(GlobalDefines.GCM_KEY, ""); 

문자열 내가 처음으로 공유 환경 설정에서 값을 얻을 때 "테스트"값을 갖고; 환경 설정에서 다른 값을 제거하고 동일한 값 (GCM_KEY)을 다시 가져 오려면 빈 값이 반환됩니다.

왜 그럴까요?

+0

실제로 공유 환경 설정'GCM_KEY' 값을 넣으시겠습니까? – donfuxx

+1

당신은'SharedPreferences' 파일에서 모든 값을 삭제하는'editor.clear()'를 호출하고 있습니다. – Squonk

답변

1

editor.clear()은 SharedPreferences에서 ALL 값을 제거 할 것을 편집자에게 알립니다. 이 줄을 제거하면 예상되는 동작을 볼 수 있습니다.

+0

고마워, 그게 문제 야! – deimos1988

관련 문제