언어/Android
[Android] Data 저장 기법
정현석
2010. 2. 18. 01:48
* 공유 환경설정(wafPreference)
UI상태, 사용자 환경설정, 또는 애플리케이션 설정 저장 시 사용
공유 환경설정은 기본 타입 데이터의 키/값 쌍 그룹을 명명된 환경설정으로 저장할 수 있도록 해준다.
SharedPreferences를 이용하면, 같은 Context 내에서 실행 중인 Application Components 간에 공유될 수 있는 Key / Value 쌍의 명명된 맵을 Application 내에 만들 수 있다.
(boolean, int, long, float, String 기본 타입을 지원)
onSaveInstanceState Handler 제공, Activity가 Resource 부족에 허덕이는 Runtime에 의해 종료되는 자격을 갖추게 될 때 UI 상태를 지속시키기 위해 특별히 설계됐다.
이 핸들러는 공유 환경설정 메커니즘처럼 동작한다. 이는 Activity의 Instance value를 저장하는 데 사용될 수 있는 기본타입의 키/값 맵을 표현하는 Bundle 매개변수 하나를 제공한다. 이 번들은 onCreate와 onRestoreInstanceState Method handler에 전달되는 매개변수로 사용 가능하도록 만들어 진다.
getSharedPreferences에 공유된 데이터의 이름을 통해서 Value값을 얻어온다.
공유 환경 수정 시 SharedPreferences.Editor class를 이용한다.
* 파일 (wafInstaller, wafWidgetArchive, wafUnZip 등등..)
안드로이드의 특화된 메서드와 Java.IO Class를 통해 로컬 파일시스템에 대한 접근을 제공
* SQLite Database (wafConfig)
관리되고 구조화된 데이터가 답인 경우를 위해, 안드로이드는 SQLite 관계형 데이터베이스 라이브러리를 제공한다. 모든 Application은 자신만의 DB를 생성할 수 있으며, 그에 대해 전적인 제어를 갖는다.
* Content Provider(권한설정)
자체적인 저장 메커니즘에 비해, Content Provider는 개인 데이터의 이용 및 공유를 위한 잘 정의된 인터페이스를 노출할 수 있도록 해준다. Content Provider에 대한 접근은 표준 권한 시스템을 이용해 제어할 수 있다.