[Android Studio] SharedPreferences

김진호·2023년 7월 14일
1

Android

목록 보기
1/5

1. SharedPreferences란?

  • 우리가 익숙한 Client-Server 방식

데이터의 양이 많거나 중요 데이터의 경우, 기존의 방식으로 DB에 저장해야한다.
하지만 간단한 설정 값이나 문자열 같은 데이터를 저장하기 위해 DB를 사용하기는 비효율적이다.
이러한 경우 안드로이드에서 제공하는 SharedPreferences를 사용하는 것이 적합하다.


2. SharedPreferences의 특징

  • 말 그대로, ‘공유된 사용자의 기호’ (SharedPreferences)

  • Key-Value Tuple 방식의 데이터베이스이다.
  • 보통 간단한 값을 저장하기 위해 사용한다.
  • Application에 파일 형태로 데이터를 저장한다.
  • Application이 삭제되기 전까지 저장한 데이터가 보존된다.

  • Hard한 DB 시스템은 우리가 기존에 사용하던 방식 사용
  • 앱 내에서 간단한 데이터를 유지하고 공유
  • 예를 들어 사용자 설정, 애플리케이션 상태, 로그인 정보, Dark 모드 등

3. SharedPreferences ; MODE

  • MODE_PRIVATE : 생성한 Application에서만 사용 가능
  • MODE_WORLD_READABLE : 다른 App에서 사용 가능 / 읽기만 가능
  • MODE_WORLD_WRITEABLE : 다른 App에서 사용 가능 / 읽기,쓰기 가능
  • MODE_MULTI-PROCESS : 이미 호출되어 사용중인지 체크
    (안드로이드 7.0 (Nougat) 이후부터 지원 X)
  • _MODE_APPEND : 기존 preference에 덮어쓰지 않고, 신규로 추가
    (안드로이드 7.0 (Nougat) 이후부터 지원 X ; apply() 메서드를 사용)

✍️ 다른 어플 간의 SharedPreferences를 공유하는 일이 아니면 보통 'Mode_PRIVATE' 를 사용한다.
     EX) 카카오페이, 카카오뱅크, 카카오 등에서 연동해서 사용하는 경우

4. Data 삭제

  • 이론적으로는 한 번 저장된 Data는 삭제할 수 없다.
  • 그러나 삭제하고 싶은 경우, 실제로 사용자가 앱 설정에 들어가서 해당 preferences를 초기화시켜줘야 한다.

설정 > 해당 앱으로 들어간다.

Storage로 들어간다.

Clear Data 버튼을 클릭하면 삭제가 가능하다.

profile
멋쟁이

0개의 댓글