Data Persistence
영속적인 데이터는 핸드폰에 데이터를 저장하는 것을 말한다.
5가지 데이터 영속 방식
1. onSavedInstanceState
뷰의 상태에 키-값 쌍을 저장한다.
앱의 화면 회전하거나 또는 액티비티가 메모리 부족으로 다운되었을 때 상태를 저장하기 위해 쓰인다.
앱의 상태를 저장하기 위한 일시적인 방법이다.
앱을 계속 사용중일 때만 사용할 수 있다.
앱을 종료하거나 새로 시작 시 저장된 데이터는 사라진다.
2. SharedPreferences
하나의 파일 안에 간단한 키-값 쌍을 저장한다.
키값은 항상 string 이어야 하고, value는 primitive (boolean, string 등) 이여야 한다.
사용자에 대한 간단한 문장이나 숫자값을 저장하기 위해 이용된다.
(예-사용자 이름, 사용자가 보고 있던 페이지에 대한 정보)
3. SQLite Database
복잡한 데이터를 저장할 때 사용한다.
4. Internal / External storage
멀티미디어나 더 큰 데이터를 저장할 때 사용한다.
5. Server
여러 종류의 디바이스에서 접속된 데이터를 저장할 때 사용한다.
핸드폰에 저장하는 것이 아닌 cloud에 저장하는 것이며,
이는 서버에 DB를 저장하거나 Firebase 같은 서비스를 사용하는 것을 의미한다.
Preference Fragments
SharedPreferences는 앱의 Preference를 저장하기 때문에 'Shared' Preferences라 불린다.
앱의 환경설정에 사용되기 때문에 세팅 액티비티를 만드는 것처럼
다른 안드로이드의 프레임워크와 협업이 필요하다.
Fragment란 모듈 단위의 재사용이 가능한 액티비티의 한 부분 클래스를 말한다.
Preference Fragment는 XML에 정의된 Preferences을 저장하고 있다.
액티비티 레이아웃을 XML에 정의할 때와 똑같은 방식이다.
Fragment 안의 UI 위젯들을 만들 때 사용되며,
위젯의 값을 변경하게 되면 관련된 키-값 쌍을 SharedPreference 파일에서 변경해준다.
Android Course of Udacity - Lesson 6
'Android' 카테고리의 다른 글
Preferences - (3) Preference Fragment 만들기 (0) | 2018.01.03 |
---|---|
Preferences - (2) Settings 메뉴 틀 만들기 (0) | 2018.01.03 |
Intent - (3) Implicit Intent를 코드에 적용하기 (0) | 2018.01.01 |
Intent - (2) Explicit Intent를 코드에 적용하기 (0) | 2018.01.01 |
Intent - (1) Intent (0) | 2018.01.01 |