[Android] Sharedpreference를 사용하여 데이터 저장하기

Jinny·2021년 1월 31일
0

Android

목록 보기
21/32
post-thumbnail

지난 포스팅에서 SQLite를 설명, 사용해보았다.
SQLite외에도 안드로이드 내 DB를 사용할 수 있는 방법이 하나 더 있다.
바로 Sharedpreference 이다.

🚩 데이터 저장 방식

데이터를 저장할 때 주로 2가지 형태로 저장하게 된다.

  1. RDB (Relational Database)가 가장 많이 쓰임
    • 관계형 데이터베이스
    • 엑셀처럼 생겼다
  1. Key - Value
    • 하나의 쌍으로 데이터 저장하는 방식
    • <값의 이름, 값>
    • 검색 속도가 빠른게 큰 이점이다.

🚩 안드로이드의 데이터베이스

  1. SQLite -> [지난포스팅에서 확인하기]

  2. SharedPreference

  • '사용자의 기호' 같은 아주 간단한 정보를 저장하기 위함
    Ex) 앱의 설정 (오름차순으로 보겠다, 다크 모드로 보겠다 등)
  • key-value 방식이다.
  • 하드하게 DB 시스템을 구축 할 순 없다.

🚩 SharedPreference 사용하기

  1. SharedPreference 객체 생성 및 editor 생성
val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE) // 첫번째 인자로 SharedPreference의 이름을 지어준다.
// 모드는 종류가 여러개 있다
// MODE_PRIVATE : 생성한 어플리케이션에서만 사용가능 & 제일 흔하게 쓰임
// MODE_APPEND : 기존 preference에 신규로 추가
val editor = sharedPreference.edit()
  1. 데이터 저장하기
editor.putString("hello", "안녕!?")
editor.putString("goodbye", "잘가!!")
editor.commit() // commit을 해줘야 변경된 값이 저장된다.
  1. 데이터 불러오기
val value = sharedPreference.getString("hello","데이터없음") // 데이터가 null일 경우 두번째 인자가 저장된다.
val value2 = sharedPreference.getString("goodbye","데이터없음")
Log.d("shared","Value: "+value)
Log.d("shared","Value: "+value2)

  1. 데이터 부분 삭제하기
editor.remove("hello")
editor.commit()

  1. 데이터 전체 삭제하기
editor.clear()
editor.commit()


공식문서 보러가기 & 썸네일 이미지 출처
profile
신입 개발자👩‍💻

0개의 댓글