[안드로이드 공부]/안드로이드 공부

Service에서 SharedPreference 사용하기(context와 getApplicationContext차이)

코코모아 2015. 8. 28. 16:45

아래는 코모스튜디오가 직접 만든 무료 앱이에요
(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

기본적으로 

SharedPreferences pref = getContext().getSharedPreferences(key, Context.MODE_PRIVATE);


위와 같은 코드를 사용하면 SharedPreference를 사용하여 앱에서 필요한 부분을 저장하고 불러올 수 있다. 하지만, Service(onReceive 등)와 같은 곳에서는 아래와 같이 getApplicationContext를 사용하여야 sharedPreference를 불러올 수 있다. 만약 위처럼 getContext()를 사용하게 되면 아무것도 얻을 수 없다.


mContext.getApplicationContext().getSharedPreferences(key, Context.MODE_PRIVATE);


getContext, context는 액티비티 및 각각의 생존 주기를 따라가는 반면

getApplicationContext는 앱의 생존 주기를 따라가는 전역, 스태틱 느낌이라고 할까?

모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.