[flutter] shared_preferences를 통해 앱 설정을 저장하는 방법은 어떻게 되나요?
안녕하세요! Flutter를 사용하여 shared_preferences 라이브러리를 통해 앱 설정을 저장하는 방법에 대해 알아보겠습니다.
shared_preferences 라이브러리 추가
먼저, pubspec.yaml 파일에 다음과 같이 shared_preferences 라이브러리를 추가해줍니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.6
그리고 나서 터미널에서 flutter pub get
명령어를 실행하여 라이브러리를 설치합니다.
앱 설정 저장 및 불러오기
이제, 다음과 같이 shared_preferences를 사용하여 앱 설정을 저장하고 불러오는 방법을 살펴보겠습니다.
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final String _key = 'isDarkMode'; // 저장할 설정의 키
Future<void> _toggleDarkMode(bool value) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setBool(_key, value); // 설정 저장
}
Future<bool> _getDarkMode() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getBool(_key) ?? false; // 저장된 설정 불러오기 (기본값: false)
}
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: _getDarkMode() ? ThemeData.dark() : ThemeData.light(),
home: Scaffold(
appBar: AppBar(
title: Text('앱 설정 저장하기'),
),
body: Center(
child: Switch(
value: _getDarkMode(),
onChanged: (value) {
_toggleDarkMode(value); // 설정 변경 시 저장
},
),
),
),
);
}
}
위 코드는 shared_preferences를 사용하여 앱 설정(다크 모드)을 저장하고 불러오는 예시입니다. Switch 위젯을 사용하여 사용자가 설정을 변경하면 해당 설정을 SharedPreferences를 통해 저장하고, 앱을 다시 실행해도 설정이 유지됩니다.
이것으로 Flutter에서 shared_preferences를 사용하여 앱 설정을 저장하는 방법에 대해 알아보았습니다. 추가적으로 궁금한 점이 있으시다면, 언제든지 물어보세요!