2012-07-10 3 views
3

비 활동 클래스에서 sharedpreferences XML 파일에 저장 한 데이터를 가져오고 업데이트하려고합니다. 그러나 sharedPreferences에 저장된 데이터에 접근하는 방법을 모르겠습니다. 안드로이드의 비 활동 클래스에서. 내 activiy 클래스에서 나는 sharedprefences에 데이터를 저장할 수 있으며, 또한 내 activiy 클래스에서 이러한 데이터를 retrive 수 있습니다. 그러나 나는 비 activiy 클래스에서 이러한 데이터를 retrive 수 없습니다. 내 코드비 활동 클래스의 sharedpreferences에 저장된 데이터를 사용하는 방법

mSharedPrefs = getSharedPreferences("storageforfavorite", 0); 
    mPrefsEditor = mSharedPrefs.edit(); 

    for(int i= 0;i<names.size();i++){ 
     mPrefsEditor.putString(indexForFav[i],"0"); 
    } 
    mPrefsEditor.commit(); 

    for(int i=0;i<names.size();i++){ 
     String keyForFav=mSharedPrefs.getString(indexForFav[i], "2"); 
     valueForFav.add(keyForFav); 
    } 

답변

5

키는 콘텍스트 객체에 액세스 할 수있다. 개체 내에서 sharedPreferences를 사용하려면 클래스 생성자에서 Context 개체를 전달해야합니다. 이렇게하면 다음을 할 수 있습니다.

SharedPreferences prefs = context.getSharedPreferences(); 
1

당신은해야이 비 Activity 클래스에서 SharedPreferences에 액세스 할 수하는 Context을 통과 ... below.Thank 당신입니다.

예 :

// mContext => Context-object passed from calling Activity 
SharedPreferences mSharedPrefs = mContext.getSharedPreferences("storageforfavorite", 0); 
관련 문제