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

Flutter에서는 shared_preferences 패키지를 사용하여 앱 설정과 데이터를 지속적으로 저장할 수 있습니다. 사용자가 선택한 편집기 테마를 저장하기 위해서는 다음과 같은 단계를 따르면 됩니다.

  1. shared_preferences 패키지를 프로젝트에 추가합니다. pubspec.yaml 파일을 열고 dependencies 섹션에 아래와 같이 추가합니다:
dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.6
  1. 패키지를 가져옵니다:
import 'package:shared_preferences/shared_preferences.dart';
  1. 사용자가 테마를 선택했을 때, 설정값을 shared_preferences에 저장합니다. 예를 들어, 사용자가 “dark” 테마를 선택했다면 다음과 같이 저장할 수 있습니다:
void saveThemePreference(String theme) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('theme', theme);
}
  1. 앱이 시작될 때, 저장된 설정값을 불러와서 적용합니다. 예를 들어, main() 함수에서 설정값을 불러와서 테마를 적용할 수 있습니다:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String theme = prefs.getString('theme') ?? 'light';
  runApp(MyApp(theme));
}
  1. 테마를 적용하는 위젯에서 설정값을 사용합니다. 예를 들어, MyApp 위젯의 build() 메서드에서 테마를 적용할 수 있습니다:
class MyApp extends StatelessWidget {
  final String theme;

  MyApp(this.theme);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My App',
      theme: theme == 'dark' ? ThemeData.dark() : ThemeData.light(),
      // 나머지 코드
    );
  }
}

이제 사용자가 편집기 테마를 선택하고 앱을 다시 실행하면, 이전에 선택한 테마가 로드되어 표시됩니다.

더 많은 사용 사례와 shared_preferences 패키지의 기능은 공식 문서에서 확인하실 수 있습니다.