본문 바로가기
프로그래밍/Flutter & Dart

[Flutter] SharedPreferences 사용해 key-value 데이터 저장하기

by 소꿍 2021. 8. 13.

적은 양의 key-value 데이터를 저장할 때 SharedPreferences를 사용할 수 있다.

웹의 캐시, 아이폰의 UserDefaults와 같은 개념이라고 한다.

그래서 앱을 종료한 후에도 저장된 값을 유지한다.

 

 

사용 방법

1. 의존성 추가

dependencies:
  flutter:
    sdk: flutter
  
  shared_preferences: ^2.0.6 // 210813 기준 최신버전

* 아래 링크에서 버전 확인 가능

https://pub.dev/packages/shared_preferences/install

 

2. 데이터 저장

// Get SharedPreferences
final prefs = await SharedPreferences.getInstance();

// 'counter'라는 key로 int형 counter 값 저장
prefs.setInt('counter', counter);

// setBool, setDouble, setString, setStringList 등 데이터 타입에 따라 저장

SharedPreferences는 파일 입출력 구조여서, 인스턴스 생성 시 비동기 방식인 await을 사용한다.

 

3. 데이터 읽기

// key가 'counter'인 값 읽기
final counter = prefs.getInt('counter') ?? 0; // ??를 써서 가져온 값이 없을 경우 0을 리턴한다.

// 저장된 모든 key 가져오기
prefs.getKeys();

 

4. 데이터 삭제

// key가 'counter'인 값 삭제
prefs.remove('counter');

// 모든 key 삭제
prefs.clear();

 

주의할 점

1) 원시 타입(int, double, bool, string, stringList)의 데이터만 사용 가능

2) 대용량 데이터용이 아님

 

 


참고한 글

댓글