[Kotlin] SharedPreferences

SharedPreferences

기기의 내부/외부 저장소에 XML 파일 형태로 간단한 값을 저장한다.

어플리케이션을 삭제하면 해당 파일도 삭제된다.

객체 생성

Java

1

getPreferences(int mode)

하나의 액티비티에서만 사용하는 기본 설정 파일 저장한다.

Java

1

getSharedPreferences(String name, int mode)

여러 기본 설정 파일을 저장하며, 어플리케이션 전체에서 사용한다.

  • name : 해당 SharedPreferences의 이름

  • mode : 권한

     - MODE_PRIVATE는 애플리케이션 전용 파일을 생성

저장

키-값의 쌍으로 저장한다.

기본 데이터 타입 저장 가능.

Java

1

2

3

4

5

6

7

8

val settings: SharedPreferences = getSharedPreferences("dico", MODE_PRIVATE)
val editor: SharedPreferences.Editor = settings.edit()
editor.putBoolean("boolean", true)
editor.putFloat("float", 0.1f)
editor.putInt("int", 0)
editor.putLong("long", 1)
editor.putString("string", "DICO")
editor.commit()

읽기

키를 통해 데이터를 가져오며, 값이 없을 경우 두번째 인자를 반환한다.

Java

1

2

3

4

5

6

val settings: SharedPreferences = getSharedPreferences("dico", MODE_PRIVATE)
settings.getBoolean("boolean", false)
settings.getFloat("float", 0f)
settings.getInt("int", 1)
settings.getLong("long", 0)
settings.getString("string", "dico")

삭제

Java

1

2

3

4

5

val settings: SharedPreferences = getSharedPreferences("dico", MODE_PRIVATE)
val editor: SharedPreferences.Editor = settings.edit()
editor.remove("int")	// 특정 데이터 삭제
editor.clear()		// 전부 삭제
editor.commit()

사용

어플리케이션 최초 실행 확인하기

Java

1

2

3

4

5

6

7

8

9

10

11

12

13

val settings: SharedPreferences = getSharedPreferences("dico", MODE_PRIVATE)

if(!settings.getBoolean("isFirst", false))
{
    val editor: SharedPreferences.Editor = settings.edit()
    editor.putBoolean("isFirst", true)
    editor.commit()
    Log.d("DICO", "FIRST")
}
else
{
    Log.d("DICO", "Hi")
}

DB와 마찬가지로 저장, 삭제 후 commit 필수.

SharedPreferences

민갤

Back-End Developer

백엔드 개발자입니다.

[Kotlin] TabLayout Custom

TabLayout Custom

Android

[Kotlin] RecyclerView - Item View onClick

RecyclerView - Item View onClick

Android

v5.0