2011-09-30 4 views
0

최대 Android SharedPreferences 키, 값 쌍을 찾고 있는데 좋은 답변을 찾을 수 없습니다. 둘째로, String 값의 한계가 무엇인지 물어보고 싶습니다. 얼마나 많은 인물이 그것을 넣을 수 있습니다. 값 변경을 자주 선택해야하는 경우 SQLite 또는 SharedPreferences를 사용해야합니다. 좋은 리소스를 참조하시기 바랍니다.Android SharedPreferences Limit

너의,

답변

3

모든 공유의 환경 설정이 /데이터/데이터/[패키지 이름]에 저장됩니다/shared_prefs/[응용 프로그램 이름]을 .XML, 그래서 내가 aechitecture에 따라 제한이 없다 생각합니다.

.. 참조 용

확인 Shared Preference을 나는 실제적인 한계를 모르는하지만 난 당신을 위해 충분하다 생각합니다.

should I use SQLite or SharedPreferences. 

당신이 의지는 주기적으로 변경 값을 저장해야하는 경우 SQLite는를 사용하는 것이 훨씬 낫다. 또한 더 많은 양의 데이터를 저장할 수 있습니다.

+0

"init cursor window"인 SQLite를 사용하는 데 문제가 있으며 가능한 모든 해결책을 적용했지만 해결할 수 없습니다. –

+0

@AndroidGeek SQLite SQLite로 작업하기 위해 http://developer.android.com/resources/tutorials/notepad/index.html을 참조 할 수 있습니다. SQLite에 대한 자세한 정보를 제공합니다. – Venky

0

SharedPreferences는 단일 문자열, 설정, 플래그 등의 값을 신속하게 저장하기위한 것입니다. SQLite 데이터베이스는 동일한 작업을 수행 할 수 있지만 테이블을 저장하는 것이 더 중요합니다. 여러 속성을 갖고 있고 검색 할 수있는 고객 데이터 같은 정보 (SQL의 쿼리).

그래서 대답은 "무엇인가"를 저장하고 싶은지에 따라 달라집니다. 그것이 사용자 설정이라면 SharedPreferences가 빠르고 쉽습니다. 레코드 세트라면 SQLite 데이터베이스가 더 이해할 수 있습니다.

0

키 크기 제한은 다음과 같습니다. 이것은 단지 문자열의 최대 크기라고 생각합니다. 또한 여기에 답변 됨 : Shared Preferences - max length of a single value

최대 키/값 쌍 제한 : usingShared 환경 설정이 값은 위 응답에 명시된대로 .xml 파일에 저장되며 여러 .xml sharePreference 파일을 가질 수 있습니다. 내가 생각하는 크기 제한은 앱의 크기 또는 앱을 사용하는 기기에서 사용할 수있는 저장 공간에 의해 제한됩니다.

환경 설정 값이 자주 변경되는 경우 로컬 변수를 사용하여 현재 환경 설정 집합 (글로벌 싱글 톤 클래스)을 추적하는 것이 좋습니다. 응용 프로그램이 파괴되거나 닫히기 전에 디스크에 변경 사항을 저장하십시오. 이 아이디어가 마음에 들지 않으면 SharedPreferences를 사용해보십시오.하지만 SharedPreferences.Editor.commit() 대신 SharedPreferences.Editor.apply()를 사용하여 환경 설정을 저장하십시오 (디스크에 비동기 적으로 저장 적용, 동기 저장).