Flutter에서는 애플리케이션에서 간단한 데이터를 지속적으로 저장하고 관리할 수 있는 여러 패키지들이 있습니다.
그 중에서도 shared_preferences 패키지는 간단하게 키-값 쌍 형태로 데이터를 저장하고, 필요할 때 불러올 수 있는 기능을 제공하여 매우 유용합니다.
이번 글에서는 shared_preferences 패키지의 기본적인 사용법과 다양한 옵션들에 대해 자세히 설명하겠습니다.
1. shared_preferences 패키지 설치
먼저, Flutter 프로젝트에서 shared_preferences 패키지를 사용하려면 pubspec.yaml 파일의 dependencies에 해당 패키지를 추가해야 합니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.7 # 최신 버전 확인하여 버전 명시
위와 같이 shared_preferences 패키지를 추가한 후에는 터미널에서 다음 명령어를 실행하여 패키지를 설치합니다.
flutter pub get
2. shared_preferences 패키지 기본 사용법
데이터 저장하기
shared_preferences 패키지를 사용하여 간단한 데이터를 저장하고 불러오는 방법은 다음과 같습니다.
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
TextEditingController _textController = TextEditingController();
String _savedText = '';
@override
void initState() {
super.initState();
_loadData(); // 앱 실행 시 데이터 불러오기
}
// 데이터 불러오기
void _loadData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
_savedText = prefs.getString('myTextKey') ?? ''; // 저장된 값이 없으면 빈 문자열 반환
});
}
// 데이터 저장하기
void _saveData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('myTextKey', _textController.text); // 'myTextKey'라는 키로 값 저장
setState(() {
_savedText = _textController.text; // 저장 후 UI 업데이트
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SharedPreferences 예제'),
),
body: Padding(
padding: EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextField(
controller: _textController,
decoration: InputDecoration(
hintText: '저장할 데이터를 입력하세요.',
),
),
SizedBox(height: 20.0),
ElevatedButton(
onPressed: _saveData,
child: Text('저장'),
),
SizedBox(height: 20.0),
Text('저장된 데이터: $_savedText'),
],
),
),
);
}
}
데이터 불러오기
위 예제 코드에서는 _saveData() 메서드를 사용하여 입력된 텍스트를 SharedPreferences에 저장하고, _loadData() 메서드를 사용하여 저장된 텍스트를 불러와 화면에 표시합니다.
3. shared_preferences 패키지의 주요 옵션들
SharedPreferences 패키지는 다양한 데이터 타입을 지원하며, 키-값 쌍으로 데이터를 관리할 수 있는 여러 메서드들을 제공합니다.
- getString(key): 지정된 키로부터 문자열 값을 가져옵니다.
- setString(key, value): 지정된 키에 문자열 값을 저장합니다.
- getInt(key): 지정된 키로부터 정수 값을 가져옵니다.
- setInt(key, value): 지정된 키에 정수 값을 저장합니다.
- getDouble(key): 지정된 키로부터 double 값을 가져옵니다.
- setDouble(key, value): 지정된 키에 double 값을 저장합니다.
- getBool(key): 지정된 키로부터 불 값을 가져옵니다.
- setBool(key, value): 지정된 키에 불 값을 저장합니다.
- remove(key): 지정된 키의 데이터를 삭제합니다.
요약
shared_preferences 패키지는 Flutter 애플리케이션에서 간단한 데이터를 영구적으로 저장하고 관리할 수 있는 강력한 도구입니다.
애플리케이션의 설정, 사용자 선호도, 로그인 상태 등을 관리하는 데 매우 유용하게 사용될 수 있습니다.
위의 예제를 통해 기본적인 사용법을 익히고, 필요에 따라 추가적으로 활용할 수 있습니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
'Flutter > Package' 카테고리의 다른 글
플러터에서 SlidingUpPanel 패키지 사용 방법과 옵션 정리 (0) | 2024.07.28 |
---|---|
플러터에서 애니메이션 카운트다운 구현하기: slide_countdown 패키지 사용법 가이드 (0) | 2024.07.28 |
플러터에서 Fluttertoast 패키지 사용법과 옵션 설명 (0) | 2024.07.28 |
플러터에서 animated_splash_screen 패키지 사용법 및 옵션 가이드 (0) | 2024.07.28 |
플러터에서 countup 패키지 사용법 및 옵션 가이드 (0) | 2024.07.28 |