티스토리 뷰

반응형

Gingerbread (Android 2.3)  이전 버전에서는 SharedPreferences에 저장된 값을 여러 프로세스나 Activity와 Service 사이에서 사용할 수 있었습니다.  예를 들어 PreferenceActivity에서 변경한 값을 바로 Service 프로세스에서 가져와 사용할 수가 있었죠.  하지만 최근 안드로이드 버전 (Gingerbread 이 후)에서는 명시적으로 설정하지 않는 한 같은 방식으로 사용할 수가 없습니다.   하나의 프로세스에서 SharedPreferences의 값을 변경해도 계속 이전 값만을 불러오게 됩니다.


이 문제를 해결하려면, 변경된 값을 불러오는 프로세스에서 SharedPreferences를 새로 로딩할 때 아래와 같이 설정해줘야 합니다.  이 문제를 해결하는데 며칠을 구글링했네요….  ㅠㅜ  동일한 문제를 겪고 계신 개발자분들에게 도움이 되었으면 좋겠습니다.

SharedPreferences myPrefs 
  = context.getSharedPreferences("myPrefs", Context.MODE_MULTI_PROCESS);


출처 : http://someboyj.pe.kr/blog/activity%EC%99%80-service-%ED%98%B9%EC%9D%80-%EB%91%90-%EA%B0%9C%EC%9D%98-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%97%90%EC%84%9C-sharedpreferences-%EA%B0%92-%EA%B3%B5%EC%9C%A0%ED%95%98%EA%B8%B0/




반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함