[flutter] shared_preferences를 이용하여 앱에서 사용자가 선택한 로그아웃 시간을 저장하는 방법은?
shared_preferences 패키지를 사용하여 Flutter 앱에서 사용자가 선택한 로그아웃 시간을 저장할 수 있습니다. 이것은 사용자가 로그인 한 후 마지막으로 로그아웃한 시간을 저장하고, 나중에 앱이 다시 시작될 때 그 값을 다시 불러올 수 있도록 해줍니다.
1. shared_preferences 패키지 추가
가장 먼저, pubspec.yaml 파일에 shared_preferences 패키지를 추가합니다.
dependencies:
shared_preferences: ^2.0.6
그런 다음 터미널에서 아래 명령어를 실행하여 패키지를 가져옵니다.
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: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
SharedPreferences _prefs;
String _logoutTimeKey = 'logoutTime';
@override
void initState() {
super.initState();
_initSharedPreferences();
}
Future<void> _initSharedPreferences() async {
_prefs = await SharedPreferences.getInstance();
}
void _saveLogoutTime(DateTime logoutTime) {
_prefs.setString(_logoutTimeKey, logoutTime.toIso8601String());
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Save Logout Time'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
_saveLogoutTime(DateTime.now());
},
child: Text('Save Logout Time'),
),
),
);
}
}
위의 예제에서는 사용자가 버튼을 누를 때 현재 시간을 저장하도록 구성되어 있습니다.
3. 저장된 데이터 불러오기
앱이 재시작될 때 저장된 로그아웃 시간을 불러오기 위해서는 다음 코드를 사용할 수 있습니다.
Future<String> _getLogoutTime() async {
return _prefs.getString(_logoutTimeKey) ?? 'No logout time saved';
}
결론
shared_preferences를 사용하여 Flutter 앱에서 사용자가 선택한 로그아웃 시간을 저장하는 방법을 알아보았습니다. 이를 통해 사용자 경험을 개선하고 필요한 데이터를 영구적으로 저장할 수 있습니다.
더 많은 정보를 원하시거나 추가적으로 도움이 필요하시면 공식 shared_preferences 문서를 확인해보세요.