2017-05-11 7 views
0

나는 HomePageActivity (홈페이지) ListActivity (데이터 목록)의 두 가지 활동이 있으며 ListActivity의 데이터는 SharedPreferences에서 가져온 데이터입니다. HomeActivity에서 ListActivity의 SharedPreferences를 삭제하고 싶습니다 (예를 들어 로컬 데이터를 원격 데이터와 다시 동기화). HomePageActivity에서 그렇게 할 수 있습니까? 여기 MODE_PRIVATE Android SharedPreferences를 다른 활동에서 삭제할 수 있습니까?

데이터가 ListActivity에 된 SharedPreferences에 저장하는 방법입니다

SharedPreferences mPrefs = getPreferences(MODE_PRIVATE); 
SharedPreferences.Editor prefsEditor = mPrefs.edit(); 
prefsEditor.putString(AppUser.SHARED_MYLIST, myList); 
prefsEditor.apply(); 

그리고 HomePageActivity에서 이러한 데이터를 제거 할 수 있도록하고 싶습니다.

+1

동일한 응용 프로그램 인 경우 환경 설정 파일은 환경 설정 파일에 이름을 지정하지 않으면 특정 활동이 아닙니다. 오류가 발생 했습니까? 아니면 시도하지 않았습니까? https://developer.android.com/training/basics/data-storage/shared-preferences.html – Neil

답변

0

은 모두 당신의 활동에

getPreferences("myPrefsName", MODE_PRIVATE) 

을보십시오. 동일한 SharedPreferences 인스턴스를 가져옵니다.

+0

문자열과 int를 취하는 getPreferences 메소드가 없습니다.하지만 getSharedPreferences에 대해 이야기하고 있다고 생각합니다.하지만 여전히 그렇지 않습니다. 't work – Mouss

0
public class MainActivity extend AppCompatActivity{ 
     protected void onCreate(@Nullable Bundle savedInstanceState) { 
      SharedPreferences mPrefs = getPreferences(MODE_PRIVATE); 
      SharedPreferences.Editor prefsEditor = mPrefs.edit(); 
      prefsEditor.putString(AppUser.SHARED_MYLIST, myList); 
      prefsEditor.apply(); 
     } 
} 


public class MainActivity2 extend AppCompatActivity{ 
     protected void onCreate(@Nullable Bundle savedInstanceState) { 
      SharedPreferences mPrefs = getPreferences(MODE_PRIVATE); 
      SharedPreferences.Editor prefsEditor = mPrefs.edit(); 
      prefsEditor.remove(AppUser.SHARED_MYLIST).apply(); 
     } 
} 
+0

나는 그것을 시도하고 그것은 작동하지 않는다 ... 그러나 내가 MainActivity에서 pref를 삭제하려고 할 때 그것은 작동한다. – Mouss