[flutter] shared_preferences를 사용하여 앱의 설정값을 변경하는 방법은?

앱에서 사용자의 설정 값을 저장하고 검색하는 데는 shared_preferences 패키지를 사용할 수 있습니다. 이것은 앱이 종료되어도 설정 값이 유지되도록 지원합니다.

1. shared_preferences 패키지 추가

먼저, pubspec.yaml 파일에 다음과 같이 shared_preferences 패키지를 추가합니다:

dependencies:
  shared_preferences: ^2.0.6

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

flutter pub get

2. 설정값 저장하기

이제 설정 값을 저장하고 가져오는 작업을 할 수 있습니다. 예를 들어, 사용자가 어떠한 설정 값을 변경하여 저장하는 기능을 추가하는 예제 코드를 작성해 보겠습니다.

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

class SettingsPage extends StatefulWidget {
  @override
  _SettingsPageState createState() => _SettingsPageState();
}

class _SettingsPageState extends State<SettingsPage> {
  TextEditingController _controller = TextEditingController();
  String _savedValue = '';

  void _saveValue() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    await prefs.setString('myKey', _controller.text);
    setState(() {
      _savedValue = _controller.text;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Settings'),
      ),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            TextField(
              controller: _controller,
              decoration: InputDecoration(labelText: 'Enter a value'),
            ),
            RaisedButton(
              onPressed: _saveValue,
              child: Text('Save'),
            ),
            SizedBox(height: 20),
            Text('Saved value: $_savedValue'),
          ],
        ),
      ),
    );
  }
}

위의 코드에서 SharedPreferences를 사용하여 값을 저장하고 가져오는 방법을 살펴볼 수 있습니다. 저장된 값은 앱이 종료되더라도 유지됩니다.

이제 SettingsPage 위젯을 필요한 곳에서 사용하여 사용자 설정을 저장하고 불러올 수 있습니다.

마치며

위의 예시를 참고하여, shared_preferences를 사용하여 Flutter 앱의 설정 값을 변경하고 저장하는 방법을 쉽게 익힐 수 있습니다.

내용에 대한 자세한 내용은 공식 문서를 참조하시기 바랍니다.