[Android] SharedPreference

HEETAE HEO·2022년 5월 19일
0
post-thumbnail

SharedPreferences란?

Android 개발을 하다보면 앱의 데이터들을 저장하고 관리해야 하는 상황이 존재합니다.
데이터의 양이 많거나 중요한 경우 서버나 DB에 저장을 하겠지만 앱의 설정값이나 문자열 같은 데이터는 스마트폰에 저장하여 활용할 수 있도록 도와주는 기능입니다.

SharedPreferences의 특징

  • 앱의 설정값이나 자동 로그인 여부 등 간단한 값을 저장하기 위해 사용한다.
  • Application에 파일 형태로 데이터를 저장한다.
  • Application에 저장되는 것이기 때문에 App을 삭제한다면 데이터도 같이 사라진다.
  • Key-value 방식으로 데이터를 저장하고 key를 통해 데이터를 가지고 온다.

MODE_PRIVATE : 생성한 Application에서만 사용 가능
MODE_WORLD_READABLE : 외부 Application에서 사용 가능(only Read)
MODE_WORLD_WRITEABLE : 외부 Application에서 사용 가능, 읽기/쓰기 가능

SharedPreferences 메서드

  • getSharedPreferences(String, int) 메소드는 인스턴스를 검색하는데 사용됩니다.

  • SharedPreferences.Editor()에서 값을 편집하는데 사용됩니다.

  • SharedPrefereces 파일에 값을 저장 commit() 하거나 호출할 수 있습니다. commit은 값을 즉시 저장하는 반면 apply()는 비동기로 값을 저장합니다.

SharedPreferences 코드

값 저장

val sharedPreference =  getSharedPreferences("PREFERENCE_NAME",Context.MODE_PRIVATE)
var editor = sharedPreference.edit()
editor.putString("username","Anupam")
editor.putLong("l",100L)
editor.commit()

다음과 같이 앱내에서만 사용할 수 있도록 선언해주고 Anupam이라는 String 값을 username이라는 이름으로 저장하였습니다. 100L의 경우 l이라는 이름으로 저장하고 commit을 통해 작업을 완료합니다.

값 검색

sharedPreference.getString("username","defaultName")
sharedPreference.getLong("l",1L)

다음과 같이 key값을 통해 value들을 불러올 수 있다.

값 삭제

editor.clear() 
editor.remove("username") 

.clear()의 경우 SharedPreferences에 저장되어 있는 모두 코드를 지우는 코드이고
.remove의 경우 key값을 넣어 해당되는 데이터만 지우는 코드입니다.

profile
Android 개발 잘하고 싶어요!!!

0개의 댓글