적은 양의 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) 대용량 데이터용이 아님
참고한 글
'프로그래밍 > Flutter & Dart' 카테고리의 다른 글
[Flutter] Class, constructor, property (0) | 2021.08.15 |
---|---|
[Flutter/dart] List class (3) | 2021.08.15 |
[Flutter] 자잘한 것들 (0) | 2021.08.15 |
[Flutter] Web URL에 해시태그(#, 샵) 없애기 (0) | 2021.08.15 |
[Flutter] Font 적용하기 / Noto Sans CJK KR 공식 다운로드 (0) | 2021.08.15 |
댓글