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

소개

앱의 사용자가 선택한 테마 색상을 저장하고 싶은데, 매번 앱을 실행할 때마다 사용자가 테마를 다시 선택해야 하는 것은 번거로울 수 있습니다. 이런 경우 shared_preferences 라이브러리를 사용하여 사용자가 선택한 테마 색상을 간편하게 저장할 수 있습니다. shared_preferences는 Flutter에서 간단한 Key-Value 쌍을 로컬에 영구적으로 저장하는 데 사용되는 패키지입니다.

단계별 진행

  1. shared_preferences 패키지를 프로젝트에 추가합니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다:
dependencies:
  shared_preferences: ^2.0.7
  1. 패키지를 가져옵니다:
import 'package:shared_preferences/shared_preferences.dart';
  1. 저장 및 로드 함수를 생성합니다:
Future<void> saveThemeColor(String color) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('themeColor', color);
}

Future<String> getThemeColor() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String themeColor = prefs.getString('themeColor') ?? 'defaultColor';
return themeColor;
}
  1. 테마 색상을 저장하고 로드하는 곳에서 함수를 호출합니다. 예를 들어, 플로터 앱의 테마 설정 화면에서 사용자가 테마를 선택하고 저장하는 경우:
void _saveAndApplyThemeColor(String color) {
saveThemeColor(color);
// 테마 색상을 변경하고 앱을 다시 로드합니다
}
void _loadThemeColor() {
getThemeColor().then((color) {
setState(() {
_selectedColor = color;
});
});
}

요약

이렇게하면 Flutter 앱에서 shared_preferences를 사용하여 사용자가 선택한 테마 색상을 저장하고 로드할 수 있습니다. shared_preferences를 사용하면 사용자의 기본 테마 색상을 유지하면서 앱을 다시 실행 할 때 매번 선택할 필요가 없습니다. 이는 사용자 경험을 향상시키는 데 도움이 됩니다.