2017-01-01 5 views
0

Android App의 PreferencesActivity에 SharedPreferences를 저장하려는 클래스가 있습니다. 나는 이것을 시도했지만 null 포인터 예외를 제공합니다. 다시 말하지만, 나는 필요한 것을 얻기 위해 활동이 아니라 수업을 사용하고 있습니다.PreferenceActivity에서 SharedPreferences를 얻는 방법

public PrefsInterface(Context context) 
{ 
    gson = new Gson(); 
    sPreferences = PreferenceManager.getDefaultSharedPreferences(context); 
    String json = sPreferences.getString("myJsonCity", ""); 
    if(!json.isEmpty()) 
    { 
     Type t = new TypeToken<CityObj>(){}.getType(); 
     myCity = gson.fromJson(json, t); 
     //System.out.println(myCity.city()); 
    } 
    else 
    { 
     System.out.println("Error getting city from settings."); 
    } 

} 
+0

동일한 코드가 작동하는지 여부 –

+0

활동 코드 및 예외 스택 추적 부분을 공유하십시오. –

+0

이것이 작동합니다. 클래스를 사용하고 컨텍스트를 전달하는 것은이를 수행하는 합법적 인 방법입니다. 예외 자체에 관해 더 자세히 설명해 주시겠습니까? – yakobom

답변

0

나는 왜 나는 아무것도 얻지 못하고 있는지 알았다. 나는 물건을 잘못 저장하고 있었다. 대신에 다음과 같이 저장하는 :

SharedPreferences preferences==PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor=preferences.edit(); 
    editor.putString("Name","Harneet"); 
    editor.commit(); 

을 I는 다음과 같이 저장 :이 내가 그것 때문에 개인 모드의 저장 설정을 검색 할 수 없음을 의미

SharedPreferences.Editor = this.getPreferences(MODE_PRIVATE).edit(); 

.

관련 문제