본문
[2018.03.26] 102. SharedPreferences 개념과 실습
도입
이번 포스팅에서는 SharedPreferences의 개념 및 실습을 진행할 예정이다.
개념
(출처 - https://developer.android.com/reference/android/content/SharedPreferences.html)
SharedPreferences는 data에 접근하고 수정하기 위한 인터페이스이다.
여기서 의문이 들었던 점은 DB와 SharedPreferences는 어떻게 다르며 언제 사용해야되는가? 라는 의문이 들었다.
개념에서 힌트가 있다.
SharedPreferences는 강한 일관성을 보장해 데이터를 변경할 때 많은 리소스를 사용해 App이 느려질 수 있다.
그래서 자주 데이터가 변경되는 속성이라면 DB를 사용하는 것이 맞다고 생각한다.
또 중요한 것은 Multiple process를 허용하지 않는다. 즉, SharedPreferences에 다른 프로세스 간 동시 접근은 불가능하다.
다른 공식 문서를 확인해보면
(출처 - https://developer.android.com/training/basics/data-storage/shared-preferences.html?hl=ko)
SharedPreferences는 컬렉션이 비교적 작은 경우에 사용하라고 적혀있다.
비교적이라는 말이 추상적이지만 경험을 통해 익숙해져야겠다.
실습
Step1. SharedPreferences 핸들러 가져오기
1 2 3 4 | // 변수 선언 var prefs: SharedPreferences // SharedPreferences 핸들러 가져오기 prefs = context.getSharedPreferences("접근하기 위한 Key", Context.MODE_PRIVATE) | cs |
Step2. SharedPreferences 쓰기
1 2 | // SharedPreferences 쓰기 prefs.edit().putString("Unique Key", "원하는 데이터").apply() | cs |
Step3. SharedPreferences 읽기
1 2 | // SharedPreferences 읽기 prefs.getString("Unique Key", "Default Value") | cs |
#SharedPreferences #SharedPreference
'컴퓨터 > 이론: 안드로이드' 카테고리의 다른 글
[2018.06.13] 104. View, ViewGroup 관계 (0) | 2018.06.13 |
---|---|
[2018.05.27] 103. AsyncTask - execute VS executeOnExecutor (0) | 2018.05.27 |
[2018.03.22] 101. Key Store 개념과 실습 (0) | 2018.03.22 |
[2018.03.19] 100. Proguard 개념과 실습 (0) | 2018.03.20 |
[2018.03.17] 99. OkHttp VS Retrofit (0) | 2018.03.17 |
댓글