[flutter] shared_preferences를 이용하여 사용자가 선택한 테마 색상을 바꾸는 방법은?

앱의 테마 색상을 사용자가 선택할 수 있도록 하려면 SharedPreferences 패키지를 사용하여 이 정보를 저장하고 로드해야 합니다. 이를 위해 다음 단계를 수행할 수 있습니다.

1. SharedPreferences 패키지 추가

먼저 shared_preferences 패키지를 pubspec.yaml 파일에 추가합니다.

dependencies:
  shared_preferences: ^2.0.8

그리고 패키지를 가져옵니다.

import 'package:shared_preferences/shared_preferences.dart';

2. 사용자가 선택한 테마 색상 저장하기

사용자가 테마 색상을 변경할 때마다 해당 정보를 SharedPreferences에 저장합니다. 예를들면, 사용자가 테마 색상을 변경할 때 아래와 같이 호출합니다.

void saveThemeColor(String color) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setString('themeColor', color);
}

3. 사용자가 선택한 테마 색상 불러오기

앱이 시작될 때 이전에 저장된 테마 색상을 불러와야 합니다. 아래는 저장된 테마 색상을 불러오는 예제입니다.

Future<String> loadThemeColor() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  return prefs.getString('themeColor') ?? 'defaultColor'; // 기본값 설정 가능
}

4. 테마 색상 적용

마지막으로, 불러온 테마 색상을 적용하여 앱의 전반적인 디자인에 반영합니다.

이제 사용자가 선택한 색상이 SharedPreferences를 통해 영구적으로 저장되며, 앱이 실행될 때마다 해당 정보를 불러와 테마가 업데이트됩니다.

위의 단계를 따르면 사용자가 선택한 테마 색상을 변경하고 저장하는 기능을 구현할 수 있습니다.