[flutter] shared_preferences를 사용하여 사용자가 선택한 폰트 크기를 초기화하는 방법은?

앱을 개발하다 보면 사용자가 설정한 값이나 상태를 유지하기 위해 shared_preferences 패키지를 사용해야 할 때가 있습니다. 여기서는 Flutter 앱에서 사용자가 선택한 폰트 크기를 shared_preferences를 사용해 초기화하는 방법에 대해 알아보겠습니다.

1. shared_preferences 추가

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

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.10

그런 다음 터미널에서 아래 명령을 실행하여 패키지를 가져옵니다.

flutter pub get

2. 폰트 크기 설정 및 읽기

사용자가 선택한 폰트 크기를 읽고 쓰기 위한 함수를 생성합니다.

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

class FontSizeManager {
  static const _keyFontSize = 'fontSize';

  static Future<double> getFontSize() async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    return prefs.getDouble(_keyFontSize) ?? 16.0; // 기본 폰트 크기 16.0
  }

  static Future<void> setFontSize(double size) async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.setDouble(_keyFontSize, size);
  }
}

3. 초기화

마지막으로, 앱이 시작될 때 사용자가 설정한 폰트 크기를 읽어와 적용합니다. 예를 들어, main.dart 파일의 main() 함수 안에서 다음과 같이 초기화할 수 있습니다.

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  double initialFontSize = await FontSizeManager.getFontSize();
  runApp(MyApp(initialFontSize));
}

위와 같이 shared_preferences를 사용하여 사용자가 선택한 폰트 크기를 초기화할 수 있습니다. 이제 사용자가 설정한 폰트 크기를 유지하고, 앱을 다시 실행해도 해당 값이 유지될 것입니다.

더 많은 정보를 원하시면 shared_preferences 패키지 문서를 참고하세요.

참고 문헌: