Android의 Shared Prefence

2023. 12. 9. 20:39카테고리 없음

1, Shared Preference

개념:

키 - 값 쌍이 포함된 파일. 키-값 쌍을 읽고 쓸 수 있는 간단한 메서드 제공

안드로이드에서 애플리케이션 저장하기 위해 사용할 수 있는 내부 DataBase

 

특징

- 간단한 값을 저장하기 위해 사용

- Application에 xml 파일 형태로 데이터를 저장

- Application이 삭제되기 전까지 저장한 데이터가 보존

- key 와 value을 담을 수 있는 MAP 형태로 저장

 

 

사용 방법

1. 공유 환경설정의 핸들 가져오기 

- getSharedPreferences(): 이름으로 식별되는 공유 환경 설정 파일이 여러 개 필요한 경우 사용

이름은 첫 번째 매개변수로 지정

앱의 모든 Context에서 이 매서드 호출

파일명으로 xml파일을 만들어 저장

다른 액티비디나 컴포넌튿ㄹ이 데이터를 공유할 수 있음

- getPreferences() : 공유 환경 설정 파일을 하나만 사용해야하는 경우

Activity에서 이 매서드 사용

Activity에 속한 기본 공유 환경설정 파일을 검색. 이름 제공할 필요 없음

자동으로 Activity이름이 XML 파일로 저장

다른 Activity에서 데이터를 이용할 수 없음

 

2, 공유 환경 설정에 쓰기 

 

apply()는 메모리 내 SharedPrefences 객체를 즉시 변경, 업데이트는 디스크에 비동기적으로 

coomit()은 데이터를 디스크에 동기적으로 씀. 기본 스레드에서 호출하지면 안됨 

//핸들 가져오기
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
//edit()을 호출하여 SharedPreference.Editor를 만듬
SharedPreferences.Editor editor = sharedPref.edit();
//putInt() 또는 putString() 등을 통해 키와 값을 전달
editor.putInt(getString(R.string.saved_high_score_key), newHighScore);
//변경 사항을 저장
editor.apply();

 

 

3, 공유 환경설정에서 일기 

getInt(), getString()과 같은 메서드를 호출하여 원하는 값에 키를 제공, 키가 없으면 성택적으로 반환할 기본값 제공 

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.integer.saved_high_score_default_key);
int highScore = sharedPref.getInt(getString(R.string.saved_high_score_key), defaultValue);

 

 

 

출처

https://kotlinworld.com/343

 

[Android Datastore] 2. Preference Datastore 사용 방법 한 번에 정리하기

Preference Datastore이란? public interface DataStore { public val data: Flow public suspend fun updateData(transform: suspend (t: T) -> T): T } Preference Datastore이란 DataStore 인터페이스를 구현하는 구현체로 Android에서 간단한 데

kotlinworld.com

https://velog.io/@ilil1/%EA%B0%9C%EB%85%90-SharedPreference-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0

 

[개념] SharedPreference 알아보기

1. Shared Preference 란? 2. SharedPreferences의 특징 3. SharedPreferences 사용 방법 4. SharedPreference.Editor

velog.io

https://developer.android.com/training/data-storage/shared-preferences?hl=ko#java

 

SharedPreferences로 단순 데이터 저장하기  |  Android 개발자  |  Android Developers

DataStore는 로컬 데이터를 저장하는 최신 방법을 제공합니다. SharedPreferences 대신 DataStore를 사용해야 합니다. 자세한 내용은 DataStore 가이드를 참고하세요. SharedPreferences로 단순 데이터 저장하기 컬

developer.android.com

https://developer.android.com/reference/android/content/SharedPreferences.Editor

 

SharedPreferences.Editor  |  Android Developers

 

developer.android.com

https://developer.android.com/reference/android/content/SharedPreferences

 

SharedPreferences  |  Android Developers

 

developer.android.com