db 없이 데이터 저장하려면 shared preference
state는 껐다 켜면 초기화 됨.
데이터 보존 방법
- 서버로 보낸다.
- 폰의 메모밀 카드에 저장해둔다.
(반 영구적으로 저장할 수 있음.)
- 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 이거를 쓰면
몰래 핸드폰에 저장해두게 만드는 것임.
위 라이브러리 사용하면 이미지 가져오는 것도 가능함!