[flutter] shared_preferences를 사용하여 사용자의 폰트 크기 설정을 저장하는 방법은?
  1. SharedPreferences란?
  2. shared_preferences 패키지 설치
  3. 사용자의 폰트 크기 설정 저장하기
  4. 결론

1. SharedPreferences란?

SharedPreferences는 안드로이드 및 iOS 앱에서 작은 양의 데이터를 저장하고 검색할 수 있도록 하는 키-값 쌍 형태의 데이터 저장소입니다. 이를 사용하여 설정 값, 사용자 정보 등을 간단하게 저장하고 불러올 수 있습니다.

2. shared_preferences 패키지 설치

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

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.6

그리고 패키지를 설치하세요.

$ flutter pub get

3. 사용자의 폰트 크기 설정 저장하기

다음은 사용자의 폰트 크기 설정을 SharedPreferences를 사용하여 저장하는 코드입니다.

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

class FontSizeScreen extends StatefulWidget {
  @override
  _FontSizeScreenState createState() => _FontSizeScreenState();
}

class _FontSizeScreenState extends State<FontSizeScreen> {
  double _fontSize = 16.0;

  _loadFontSize() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() {
      _fontSize = (prefs.getDouble('fontSize') ?? 16.0);
    });
  }

  _saveFontSize(double fontSize) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    await prefs.setDouble('fontSize', fontSize);
  }

  @override
  void initState() {
    super.initState();
    _loadFontSize();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('폰트 크기 설정'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Slider(
            value: _fontSize,
            min: 12.0,
            max: 24.0,
            onChanged: (newFontSize) {
              setState(() {
                _fontSize = newFontSize;
              });
            },
          ),
          SizedBox(height: 20.0),
          Text(
            '현재 폰트 크기: $_fontSize',
            style: TextStyle(fontSize: _fontSize),
          ),
          SizedBox(height: 20.0),
          ElevatedButton(
            onPressed: () {
              _saveFontSize(_fontSize);
            },
            child: Text('저장'),
          )
        ],
      ),
    );
  }
}

위 코드에서는 SharedPreferences를 사용하여 getDoublesetDouble 메서드를 사용하여 사용자의 폰트 크기 설정을 저장하고 불러오고 있습니다.

4. 결론

이제 사용자의 폰트 크기 설정을 SharedPreferences를 사용하여 간단히 저장하고 불러오는 방법에 대해 알아보았습니다. 이를 사용하여 사용자가 앱을 다시 열었을 때 이전의 설정을 유지할 수 있게 할 수 있습니다.