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

안드로이드의 데이터 저장하는 방법

0 추천
저는 데이터 하나하나마다 SharedPreferences를 사용합니다.

때문에 데이터의 양이 많을때는 로딩할때 약간의 버벅거림이 있는 것 같은데요,

혹시 여러분들은 어떤 방식으로 데이터를 저장하는지, 어떤 방식을 추천하는지 여쭐 수 있을까요?

 

SharedPreferences가 그나마 좋은 방법이라면 로딩할때 로딩화면을 따로 그려서 기다리게 하고 렉이 풀릴때쯤 메인화면으로 넘어가면 좋을까요?
nandroid (1,620 포인트) 님이 2015년 7월 13일 질문

1개의 답변

+2 추천
 
채택된 답변
당연히 데이터 베이스죠

얼마 안되는 양이고, 딱히 이것저것으로 나누기 애매하다면 쉐어드 프리퍼런스를 쓰는 게 맞지만, 같은 레코드가 여러 개 있어야 하는 거라면 데이터 베이스가 맞습니다

쿼리를 하거나 리스트뷰에 붙이기도 좋고요. 당연히 속도는 빠릅니다. DB를 쓰면서도 데이터가 많아서 버벅인다 싶으면 Loader를 적용하기도 하고요

 

그냥 파일로 저장하는 방법도 있겠습니다만, 그건 쉐어드 프리퍼런스와 별 차이가 없겠죠. 오히려 기본 지원이 약해서 구현해야 할 사항이 더 많아지겠네요

 

말씀하신 많은 데이터 양이 얼마인지 모르겠으나 DB로 옮기면 그 문제는 사라질지도 모릅니다. (같은 양이라면 말입니다)
cc1232 (35,280 포인트) 님이 2015년 7월 13일 답변
nandroid님이 2015년 7월 14일 채택됨
답변 감사합니다. 제가 데이터베이스를 써본적이 한번도 없어서 아직까지 쉐어드프리퍼런스를 썼는데 지금부터 배운다면 데이터베이스를 사용하기까지 오래걸릴까요??

많이 어려운가요??
데이터베이스에 대한 예제는 굉장히 많습니다. 예제 중에서 사용하실 부분과 유사한 걸 찾아서 적용하시면 어렵지 않을거라고 생각됩니다. DB도 깊이 들어간다면 어렵겠지만, 쉐어드프리퍼런스로만 작성하셨던 부분이라면 간단한 쿼리 레벨로 처리될 것 같습니다
그래서 제가 예제를 만들어 둔 게 있죠 ㅎㅎ
https://github.com/susemi99/TestDBListView
...