본문 바로가기

Android

SharedPreferences

공유환경설정파일

 

- 저장하려는 키-값 컬렉션이 비교적 작은 경우 SharedPreferences API를 사용해야한다.

- SharedPreferences  객체는 키-값 쌍을 읽고 쓸 수 있는 메서드를 제공한다.

- 각 SharedPreferences  파일은 프레임워크에서 관리하며 비공개이거나 공유일 수 있다.

( preference를 공유한다는 말그대로 다른 앱과 공유할 수 있게 설정할 수 있다. )

 

 

 

SharedPreferences 핸들 가져오기

 

  • getSharedPreferences() : 앱의 모든 Context에서 이 메소드를 호출할 수 있다
    • 첫번째 파라미터 : 키값
    • 두번째 파라미터 : 모드
  • getPreferences() : 액티비티에 하나의 preferences만 만들고 사용하는경우, 이름을 파라미터로 줄 필요가 없다.                               Activity에서만 사용한다. 
    • 파라미터 : 모드

 

 

 

SharedPreferences 쓰기(write)

 

edit()를 호출하여 SharedPreferences.Editor를 만들어 수정하는데 

코틀린에서는 edit{} 스코프함수를 지원해서 그안에서 간단하게 SharedPreferences를 사용할 수 있다.

SharedPreferences에디터 객체에서 putString메소드를 통해 (키값, 밸류) 로 해당 키값의 preference에 write할 수 있고

commit이나 apply함수를 통해 저장할 수 있다.

 

또 edit함수에 commit을 사용할건지 여부를 매개로 전달할 시  저장하는 코드를 단축시킬 수 있다.

commit = false 이면 apply()를 통해 저장한다.
SharedPreferences.edit()를 사용한 모습

 

 

 

SharedPreferences 읽기

 

getInt() 및 getString() 과 같은 메소드를 호출하여 키를 매개로 전달하여 값을 반환받을 수 있다.

두번째 파라미터를 전달하면 해당 키에 맞는 값이 없을경우 디폴트로 두번째 파라미터를 반환받는다.

 

 

 

 

 

 

 

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