[flutter] shared_preferences 를 사용하여 사용자가 선택한 캘린더 색상을 저장하는 방법은 무엇인가요?

먼저, shared_preferences 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일의 dependencies 섹션에 다음과 같이 추가해주세요.

dependencies:
  flutter:
    sdk: flutter

  shared_preferences: ^2.0.6

그런 다음, 다음과 같이 사용자가 선택한 캘린더 색상을 저장하는 함수를 작성할 수 있습니다.

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

class CalendarSettings {
  Future<void> saveColor(Color color) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.setInt('calendarColor', color.value);
  }

  Future<Color?> getColor() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    int? colorValue = prefs.getInt('calendarColor');
    return Color(colorValue ?? Colors.blue.value);
  }
}

위의 코드에서, saveColor 함수는 사용자가 선택한 색상을 shared_preferences를 통해 저장하고, getColor 함수는 저장된 색상을 반환합니다. 저장된 색상이 없을 경우에는 기본값으로 Colors.blue를 사용합니다.

이제 선택한 캘린더 색상을 저장하고 불러올 수 있는 CalendarSettings 클래스를 사용할 수 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

CalendarSettings settings = CalendarSettings();

// 캘린더 색상 저장
settings.saveColor(Colors.red);

// 캘린더 색상 불러오기
Color? color = await settings.getColor();

print(color); // 출력: Colors.red

이렇게 하면 shared_preferences를 사용하여 사용자가 선택한 캘린더 색상을 저장하고 불러올 수 있습니다.