이 질문에 이미 많은 답변이 있지만이 문제에 대한 답을 찾지 못했습니다.Committed() 후 SharedPreference가 업데이트되지 않았습니다.
내가 이해 무엇SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(Config.SHARED_PREF_NAME, Context.MODE_PRIVATE);
//Creating editor to store values to shared preferences
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
//Adding values to editor
editor.putBoolean(Config.LOGGEDIN_SHARED_PREF, true);
editor.putString(Config.PHONE_SHARED_PREF, phoneNo);
Log.d("debug", "config "+Config.PHONE_SHARED_PREF);
Log.d("debug", "config "+phoneNo);
//Saving values to editor
editor.apply();
editor.commit();
, editor.putString(Config.PHONE_SHARED_PREF, phoneNo)
이 PHONE_SHARED_PREF
에 phoneNo
의 값을 저장 의미
여기 내 코드입니다. 내가 틀렸다면 나를 바로 잡아주세요.
그러나 로그에서 phoneNo
에 할당 된 새 값 대신 Config.PHONE_SHARED_PREF
이 기본값을 인쇄했습니다. 즉, phoneNo
의 값이 올바르게 저장되지 않았습니까?
누군가 내 코드에 어떤 문제가 있다고 설명 할 수 있습니까? :/
'commit()'과'apply()'는 같고 후자는 부울 값을 반환하지 않습니다. 둘 중 하나를 제거하고 다시 시도하십시오. 당신은'editor.getString (Config.PHONE_SHARED_PREF, "")'를 사용하여 값을 얻을 수있다. 키가 존재하지 않으면 두 번째 매개 변수가 반환됩니다. –
죄송합니다.'sharedPreferences.getString (...)'을 사용해보십시오. –
아무 것도 반환하지 않습니다 (두 번째 매개 변수) – August