[Flutter] DB 없이 데이터 저장하기 - Shared preferences

Woojin·2023년 9월 16일
0

Flutter

목록 보기
18/27
  • DB 없이 데이터 저장하기

⇒ 중요한 건 DB 보관

⇒ 덜 중요한 건 Shared preferences 보관

설치 셋팅

  1. pubspec.yaml 파일에 추가 후 pub get 누르기
shared_preferences: ^2.0.11
  1. 패지키 사용할 파일 맨 위에 코드 추가
import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert';

shared preferences에 데이터 저장하는 법

  • SharedPreferences.getInstance() 이거 실행해야 저장소를 불러올 수 있고
  • setString('자료이름', '저장할자료') 쓰면 저장
saveData(){
  var storage = await SharedPreferences.getInstance();
  storage.setString('name', 'john');
}

저장했던 자료 출력하는 법

saveData(){
  var storage = await SharedPreferences.getInstance();
  storage.setString('name', 'john');
  var result = storage.getString('name');
  print(result);
}
  • getString() 말고 get() 만 써도 출력되긴 하는데 getString() 이래야 타입 지정도 잘해줌

숫자도 저장 가능

storage.setString('name', 'john');
storage.setBool('name', true);
storage.setInt('name', 20);
storage.setDouble('name', 20.5);
storage.setStringList('name', ['john', 'park']);

자료 삭제

storage.remove('name');

Map 자료 저장

  • Map 저장은 바로 못하므로 문자로 변환하여 저장 가능
  • jsonEncode() → Map을 JSON으로 변환
storage.setString('map', jsonEncode({ 'age' : 20 }) );

⇒ JSON으로 저장하면 자료 꺼내봐도 JSON임으로 JSON → Map 변환하고 싶으면 jsonDecode() 안에 넣기

var result = storage.getString('map') ?? '없는데요';
print(jsonDecode(result));

0개의 댓글