본문 바로가기

Package

Secure Storage 에 저장하고 불러오기

 

이전에 작성한 전역일 구하는? D-day 계산기의 날짜를 저장하기로 한다.

lastDate 를 FlutterSecureStorage  에 저장하고 불러오도록 만들어 보자

flutter pub add flutter_secure_storage

FlutterSecureStorage Load & Save

페이지 시작시 initState 에서 불러오고 버튼에 setState 로 저장을 하도록 한다.

 

 final storage = FlutterSecureStorage();
  DateTime lastDay = DateTime.now();

  Future<void> _selectDate(BuildContext context) async {
    final DateTime? picked = await showDatePicker(
      context: context,
      initialDate: lastDay,
      firstDate: DateTime(2023, 8),
      lastDate: DateTime(2101),
    );
    if (picked != null && picked != lastDay)
      setState(() {
        lastDay = picked;
      });
  }

  void _saveDate() async {
    await storage.write(key: 'lastDate', value: lastDay.toIso8601String());
  }

  Future<void> _loadDate() async {
    final dateString = await storage.read(key: 'lastDate');
    if (dateString != null) {
      setState(() {
        lastDay = DateTime.parse(dateString);
      });
    }
  }

  @override
  void initState() {
    _loadDate();
    super.initState();
  }