2012-12-19 4 views
-3

안드로이드에 대한 데이터 지속성에 대한 권장 사항을 물어보고 싶습니다. 그 일은 다음과 같습니다. 나는 잭슨으로 디 직렬화 된 RESTful API에서 json 데이터를 얻는 작은 휴식 앱을 가지고 있습니다. 사용자 지정 개체 및 그 후 내 ui 피드에이 개체를 사용하여, 문제는 내가이 데이터를 영구적 인 또는 적어도 캐시 가능 싶습니다.데이터 지속성 안드로이드에 대한 대안

내가 사용할 수있는 몇 가지 옵션이 있습니다. ORM-lite는 sqlite DB에 개체를 저장하거나 공유 환경 설정이나 JSON 문자열을 내부 메모리에 저장하기 위해 이미 기사를 읽었습니다. 이 주제에 대한 안드로이드 개발자 사이트.

내 개체의 구조에는 적어도 15 개의 필드가 있으며 다른 개체와 관련이 있습니다.

어떤 옵션이 좋을까요?

답변

0

정말 다른 변수에 따라 다릅니다.

공유 기본 설정은 반복 가능한 키/값 쌍에 적합하지만 실제로 관계형 데이터 용으로 설계되지 않았습니다. 또한 임의로 큰 데이터 세트가 아닌 유한 양의 데이터를 저장하기위한 것입니다. 예를 들어, 사용자의 이름을 SharedPref에 저장하지만 사용자가 모든 수준에서 달성 한 모든 점수의 전체 기록이나 모든 수준의 정의는 저장하지 않아도됩니다.

SQLite는 관계형 데이터이므로 이 훨씬 많습니다. 관계형 데이터이므로 더 좋지만 한 번에 하나의 객체 만 고정하려는 경우에는 과도 할 수 있습니다. 일반적으로 콘텐츠 제공 업체를 설정해야하지만 ORMLite가이를 처리한다고 가정합니다.

So : 주어진 시간에이 json 객체의 인스턴스를 하나 또는 두 개만 저장하는 경우 편리 성을 위해 공유 된 기본 설정 일 가능성이 큽니다. 임의로 많은 수의 데이터를 저장하는 경우 SQLite 데이터베이스와 관련이 있습니다.

1

개인적으로 JSON 문자열을 응용 프로그램 데이터 영역에 파일로 저장할 것을 권장합니다. 적어도 구문 분석 속도가 느리지 않다고 가정하면 느립니다. 일반적으로 JSON 구문 분석은 매우 빠릅니다.

이 JSON 객체의 여러 버전을 저장해야하는 경우 DB를 사용하는 것이 좋습니다.

이렇게 SharedPreferences를 사용하지 않는 것이 좋습니다.