안드로이드 개발 질문/답변
(글 수 45,052)
액티비티 안에서는 DB에 저장하던 SharedPreference에 저장하던 하면 되는데요
서비스는 값을 어디다가 저장해서 읽을수 있나요?
2012.10.11 11:17:49
서비스의 생성자에서 SharedPreference 를 얻어 보았더니 context가 null이라서 안되네요
public GCMIntentService() {
super(Config.PROJECT_ID);
m_pref = this.getApplicationContext().getSharedPreferences("App_DaTalk", Activity.MODE_PRIVATE);
}
NULL 에러가 납니다.
물론 서비스 클래스는 메인액티비티 와 같은 패키지 입니다.
서비스는 폰이 재부팅되도 혼자 돌아가기 때문에, context를 어떻게 얻어야 하죠?
2012.10.11 11:25:56
m_pref = this.getSharedPreferences("App_DaTalk", Activity.MODE_PRIVATE);
이렇게 해도 죽는군요.
서비스에서 SharedPreferences 자체를 구할수가 없어요. NULL도 나오지만 프로그램이 뻗네요.
2012.10.11 12:34:23
(추천:
1 / 0)
생성자에서 getApplicationContext 를 호출하면 당연히 null 이 나옵니다.
onCreate 에서 호출하세요.
서비스도 마찬가지 입니다.