민프

[Android][Kotlin] SharedPreferences에 값을 저장하고, 불러와보자! 본문

[Android]

[Android][Kotlin] SharedPreferences에 값을 저장하고, 불러와보자!

민프야 2021. 9. 27. 11:33

 

🎈 SharedPreference란?

구글 공식문서에 따르면 Key - Value값을 포함한 XML 기반의 파일 이라고 한다.

저장되는 데이터는 data/data/패키지명/shared_prefs 에서 확인할 수 있다.

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

 

키-값 데이터 저장  |  Android 개발자  |  Android Developers

키-값 데이터 저장 저장하려는 키-값 컬렉션이 비교적 작은 경우 SharedPreferences API를 사용해야 합니다. SharedPreferences 객체는 키-값 쌍이 포함된 파일을 가리키며 키-값 쌍을 읽고 쓸 수 있는 간단

developer.android.com

 

🎈 SharedPreference 언제써야할까?

개발을 하다보면 계속적으로 필요한 값을 DB로부터 받아와야할때가 있는데 
이러한 값들을 매번 DB를 통해 호출하다 보면 앱의 성능이 떨어지게 된다.

 

이럴때 SharedPreference를 이용한다.

 

🎈 SharedPreference 사용법

  • 사용할 파일 이름 지정, 모드(프라이빗, 퍼블릭) 선택
val sharedPreference = requireContext().getSharedPreferences("UserInformationPref", Context.MODE_PRIVATE)

Mode

 - MODE_PRIVATE: 생성한 앱에서만 사용 가능

 - MODE_WORLD_READABLE: 다른 앱과 데이터 읽기 공유

 - MODE_WORLD_WRITABLE: 다른 앱과 데이터 쓰기 공유

 - MODE_APPEND: 기존 Preference에서 신규로 추가

 - MODE_MULTI_PROCESS: 해당 Preference가 사용중인지 체크

 

  • 데이터를 저장/수정 하기위해 Editor변수를 선언
val editor: SharedPreferences.Editor = sharedPreference.edit()
  • 값을 저장 (Key - Value)
        editor.putString("UserInformation", userInfo)
        editor.commit()

전체 코드

    //유저정보를 SharedPreference에 저장함
    fun saveUserInfoAtShared(userInfo :String){
        val sharedPreference = requireContext().getSharedPreferences("UserInformationPref", Context.MODE_PRIVATE)
        val editor: SharedPreferences.Editor = sharedPreference.edit()

        editor.putString("UserInformation", userInfo)
        editor.commit()
    }

 

생성된 SharedPreference 파일 확인

Comments