[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 앱의 설정 값을 변경하고 저장하는 방법을 쉽게 익힐 수 있습니다.
내용에 대한 자세한 내용은 공식 문서를 참조하시기 바랍니다.