Flutter 애플리케이션을 개발하면서 사용자가 입력한 데이터를 유지하고 싶을 때가 있습니다. 이를 위해 shared_preferences
패키지를 사용하여 사용자가 입력한 폼 데이터를 애플리케이션 내에 영구적으로 저장하고 확인하는 방법에 대해 알아보겠습니다.
1. shared_preferences
패키지 추가
먼저, pubspec.yaml
파일에 shared_preferences
패키지를 추가합니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.8
그리고나서 터미널에서 아래 명령을 실행하여 패키지를 가져옵니다.
flutter pub get
2. 사용자 입력 데이터 저장
사용자가 입력한 데이터를 저장하는 예시를 들어보겠습니다. 아래 코드는 사용자가 입력한 이름을 shared_preferences
를 이용해 저장하는 예시입니다.
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
class FormScreen extends StatefulWidget {
@override
_FormScreenState createState() => _FormScreenState();
}
class _FormScreenState extends State<FormScreen> {
TextEditingController _nameController = TextEditingController();
@override
void initState() {
super.initState();
_loadData();
}
_loadData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String name = prefs.getString('name') ?? '';
_nameController.text = name;
}
_saveData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('name', _nameController.text);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Form'),
),
body: Padding(
padding: EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
TextField(
controller: _nameController,
decoration: InputDecoration(labelText: 'Name'),
),
SizedBox(height: 20.0),
ElevatedButton(
onPressed: () {
_saveData();
},
child: Text('Save'),
),
],
),
),
);
}
}
위 코드에서 _loadData
함수는 애플리케이션이 시작될 때 이전에 저장한 이름을 불러옵니다. _saveData
함수는 사용자가 입력한 이름을 shared_preferences
를 사용하여 저장합니다.
3. 데이터 확인
이제 사용자가 입력한 데이터를 확인하는 방법을 알아봅시다.
SharedPreferences prefs = await SharedPreferences.getInstance();
String savedName = prefs.getString('name') ?? 'No name';
print(savedName);
위 코드에서 SharedPreferences.getInstance()
를 호출하여 저장된 이름을 불러옵니다. 이때, 저장된 이름이 없을 경우 기본값으로 ‘No name’을 설정합니다.
이렇게하면 사용자가 입력한 데이터를 확인할 수 있습니다.
shared_preferences
를 사용하여 사용자가 입력한 폼 데이터를 확인하는 방법에 대한 간단한 예시를 살펴보았습니다. shared_preferences
를 사용하면 간단하게 데이터를 영구적으로 저장하고 가져올 수 있어 편리합니다.
더 많은 정보는 shared_preferences 패키지 문서를 확인하시기 바랍니다.