- DB 없이 데이터 저장하기
⇒ 중요한 건 DB 보관
⇒ 덜 중요한 건 Shared preferences 보관
설치 셋팅
- pubspec.yaml 파일에 추가 후 pub get 누르기
shared_preferences: ^2.0.11
- 패지키 사용할 파일 맨 위에 코드 추가
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));
'Web & Android > Flutter' 카테고리의 다른 글
[Flutter] 커스텀 페이지 전환 애니메이션 (0) | 2023.09.23 |
---|---|
[Flutter] 위젯 클릭 - GestureDetector (0) | 2023.09.22 |
[Flutter] 폰에 저장된 이미지 가져오기 (0) | 2023.09.22 |
[Flutter] 페이지 나누기 - 라우터 사용 (/) (0) | 2023.09.22 |
[Flutter] 페이지 나누기 - Navigator (0) | 2023.09.22 |