db 없이 데이터 저장하려면 shared preference

state는 껐다 켜면 초기화 됨.

데이터 보존 방법

  1. 서버로 보낸다.
  2. 폰의 메모밀 카드에 저장해둔다. (반 영구적으로 저장할 수 있음.)
    • shared preference라는 곳에 저장.

그러면 유저가 캐시 삭제 버튼 누르기 전까지 계속 가지고 있게 됨.

shared preference 사용법

패키지 설치

  shared_preferences: ^2.0.11

pub get 하시고

import 'package:shared_preferences/shared_preferences.dart';

위도 추가

실제 사용

saveData() async{
    var storage = await SharedPreferences.getInstance(); // 이러면 준비 끝
    storage.setString('name', 'john'); // key value 형태로 저장하는 것임.
    var result = storage.get('name');
    print(jsonDecode(result));
    // storage.getString('name'); 
  }

setString, setBool, 등등을 할 수 있고 getString, getBool 로 가져올 수 있음.

remove. 하면 삭제

map 자료도 저장 가능함

var map = {'age': 20};
storage.setString('map', jsonEncode(map));
var result = storage.get('map');
print(jsonDecode(result));

이런식으로도 넣을 수 있음.

SharedPreferences에는 이미지는 저장할 수 없다.

이미지는 어떻게하냐..

캐싱이라는 걸 한다. cached_network_image 이거를 쓰면 몰래 핸드폰에 저장해두게 만드는 것임.

위 라이브러리 사용하면 이미지 가져오는 것도 가능함!