[flutter] shared_preferences를 사용하여 사용자의 폰트 크기 설정을 저장하는 방법은?
SharedPreferences
란?shared_preferences
패키지 설치- 사용자의 폰트 크기 설정 저장하기
- 결론
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
를 사용하여 getDouble
및 setDouble
메서드를 사용하여 사용자의 폰트 크기 설정을 저장하고 불러오고 있습니다.
4. 결론
이제 사용자의 폰트 크기 설정을 SharedPreferences
를 사용하여 간단히 저장하고 불러오는 방법에 대해 알아보았습니다. 이를 사용하여 사용자가 앱을 다시 열었을 때 이전의 설정을 유지할 수 있게 할 수 있습니다.