마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
System Service에서 SharedPreferences 사용 관련 질문
0
추천
제가 시스템 서비스에서 값을 저장해야되는데 SharedPreferences를 사용하려고 합니다.
지금 현재 테스트를 해보앗는데
Couldn't create directory for SharedPreferencesfile shared_prefs 라는 에러가 뜨더군요
서비스에서는 사용할수없나요?
값을 저장하고 읽어올수있어야되는데요 재부팅후에도 저장한 값이 유지 되어야되거든요?
아시는분 계신가요?
sharedpreferences
시스템
서비스
service
겨울밤
(
980
포인트)
님이
2015년 2월 26일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
0
추천
채택된 답변
SharedPreferences 생성을 어떻게 하셨는지 코드도 함께 올려보시기 바랍니다.
Gradler
(
109,780
포인트)
님이
2015년 2월 26일
답변
겨울밤
님이
2015년 4월 6일
채택됨
mSharedPreferences = mContext.getSharedPreferences(FMS_AUDIO_SETTING_NAME,mContext.MODE_PRIVATE);
meditor = mSharedPreferences.edit(); 이렇게 생성하였으며
저장하고 입력하는 함수는 다음과 같이 선언하였습니다.
private int getPreferences(String nameIdx){
int val = mSharedPreferences.getInt(nameIdx, 10);
return val;
}
private void setPreferences(String nameIdx, int val){
meditor.putInt(nameIdx, val);
meditor.commit();
}
mSharedPreferences = mContext.getSharedPreferences(FMS_AUDIO_SETTING_NAME,Context.MODE_PRIVATE);
이렇게 수정해서 한번 해보시기 바랍니다.
그리고 항목별로 Preference를 따로 나누어서 저장해야 하는 특별한 이유가 없으시다면 굳이 SharedPreference 를 private로 생성하지 마시고 Default SharedPreferences 객체를 만들어서 사용하시는 것도 방법입니다.
Default SharedPreferences 객체는 다음과 같이 만듭니다.
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
생성방법만 다르고 사용방법은 모두 동일합니다.
감사합니다.
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); 사용해도
/SharedPreferencesImpl( 1792): Couldn't create directory for SharedPreferencesfile shared_prefs / 에러가 뜨네요..;;
그럼 의심해볼만한게 context밖에 없군요 mContext는 어디에서 어떻게 초기화 하고 계신가요? getApplicationContext()로 바꿔서도 한번 해보세요
추가로 검색 결과 삼성 단말 2.x 버전 디바이스에서 해당 버그가 있다고 하는 군요 진저브레드 이상부터는 고쳐졌다고 합니다.
혹시 이에 해당되는지도 살펴보시기 바랍니다.
https://code.google.com/p/android/issues/detail?id=14359
Please
log in
or
register
to add a comment.
...