안드로이드 개발 질문/답변
(글 수 45,052)
고수님들.
아래 소스와 같이 sharedpreference 관련 데이타 저장하고 읽어오는 작업중입니다.
그런데 이상하게 저장한 데이타값이 읽을때 그대로 나오지 않습니다.
-- 소스부분 ----
boolean a[] = new boolean[20];
a[i] = 임의의 boolean값;
//저장시
Sharedpreference pref = List.edit();
for(int i = 0; i < 20; i++)
{
editor.putBoolean("key",a[i]);
editor.commit();
}
boolean b[] = new boolean[20];
//읽을시
for(int i = 0 ; i <20; i++)
{
b[i] = pref.getBoolean("key",false);
}
이렇게 쓸때 원하는 데이타가 나오지 않습니다. sharedpreference 위와같이 배열로 쓰면 데이타가 이상해지나요?
안되는 건가요?
조언 부탁드립니다.




editor.putBoolean("key",a[i]);
editor.commit();
i의 마지막 값만 저장이 되겠죠.
더 확실하게는 a[0~19]까지 계속 덮어쓴다고 생각하시면 됩니다.
그럼 당연히 마지막 19값만 저장되겠죠.
읽을때는 같은값만 20개 저장하죠.
20개를 모두 저장하고 싶다면 키값도 20개가 있어야 됩니다.