SharedPreferences

최대환·2024년 2월 16일
0

1. SharedPreferences란?

SharedPreferences는 안드로이드에서 제공하는 경량의 데이터 저장 방식입니다. 주로 앱의 설정값이나, 간단한 사용자 정보 등을 저장하기 위해 사용됩니다. 데이터는 Key-Value 쌍으로 저장되며, 이를 통해 원하는 데이터를 쉽게 불러올 수 있습니다.

2. SharedPreferences 사용법

데이터 저장하기

SharedPreferences에 데이터를 저장하기 위해서는 먼저 SharedPreferences 객체를 가져와야 합니다. 이는 getSharedPreferences() 메서드를 통해 가능합니다.

val sharedPreferences = getSharedPreferences("MyApp", Context.MODE_PRIVATE)

이후 Editor 인터페이스를 사용하여 데이터를 저장합니다. EditorSharedPreferences.edit() 메서드를 통해 얻을 수 있습니다.

val editor = sharedPreferences.edit()
editor.putString("username", "John Doe")
editor.apply()

데이터 불러오기

SharedPreferences에서 데이터를 불러오는 것은 간단합니다. 저장할 때 사용한 키를 사용하여 데이터를 불러옵니다.

val username = sharedPreferences.getString("username", "default")

(3) 데이터 삭제하기

특정 키의 데이터를 삭제하려면 remove() 메서드를 사용하면 됩니다.

editor.remove("username")
editor.apply()

모든 데이터를 삭제하려면 clear() 메서드를 사용하세요.

editor.clear()
editor.apply()

3.EncryptedSharedPreferences

SharedPreferences에서 저장하는 모든 데이터는 평문 형태로 저장되기 때문에 보안에 취약할 수 있습니다. 반면, EncryptedSharedPreferences는 Tink라이브러리를 이용하여 데이터를 암호화하여 저장함으로써 이러한 문제를 해결합니다.

아래와 같이 사용할 수 있습니다.

val keyGenParameterSpec = MasterKeys.AES256_GCM_SPEC
val masterKeyAlias = MasterKeys.getOrCreate(keyGenParameterSpec)

val sharedPreferences = EncryptedSharedPreferences.create(
    "MySecureApp",   // SharedPreferences의 이름
    masterKeyAlias,  // 키 별칭
    applicationContext,  // Context
    EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,  // 키 암호화 스키마
    EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM  // 값 암호화 스키마
)
profile
나의 개발지식 output 공간

0개의 댓글