마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SharedPreferences 여러개 사용 안되나요?

0 추천
sPref, dPref 두개로 나눠서 사용하려고 했더니

dPref출력해보니 sPref의 내용이  나오네요

 

dPref에는 데이터를 안넣었고 sPref에만 넣어뒀는데

 

dPref.getAll로 로깅을 해 보니 sPref의 내용이 읽힙니다

 

원래 여러개의 SharedPreferences를 사용할 수 없나요 ?
음무 (17,820 포인트) 님이 2014년 3월 7일 질문

2개의 답변

+1 추천
소스를 봐야알것같은데요..

일단 따로 생성은 가능합니다. 같은키에 다른값 저장이 가능하고요(서로 다른 preference파일명 일때)
bangbang (8,820 포인트) 님이 2014년 3월 7일 답변
–2 추천
preferences 값은 앱에 종속되는 값이며, 다른 변수를 사용한다고 해서 두개를 사용할 수는 없습니다.

어차피 preference를 가져올때 같은 인스턴스를 가져오니까요. 데이터마다 각 다른 key값을 이용하여 저장하고 사용하시면 될 듯합니다. 저장소가 두 개 일 필요는 없으니까요. 데이터 항목이 많고 관리할 필요가 있다면 DB를 사용하시는 것을 추천합니다. 다만 DB를 사용하게 되면 마이그레이션 및  예외처리부분이 들어가야합니다. 안드로이드 디벨로퍼 사이트에 검색하시면 자세히 나오니 살펴보셔요 ^^
안드로메다로달리기 (440 포인트) 님이 2014년 3월 7일 답변
잘 못 아신듯 한데요.. getSharedPreferences에 들어가는 NAME을 다르게 하면 어려개 사용가능하며, 각 NAME에 따라 각각 파일이 생성되어 저장됩니다.
아마 소스가 잘 못 되어서 같은 값이 나오신 듯 합니다.

PS. 그리고 앱에 종속되었다고 하셨는데 앱에 종속된 값이 아닙니다. getSharedPreferences의 두번째 값을 보통 MODE_PRIVATE로 하긴 하지만. MODE_WORLD_READABLE and MODE_WORLD_WRITEABLE 같은 것으로 하면 다른 어플에서 사용할 수도 있습니다.
...