[flutter] shared_preferences를 활용하여 사용자가 선택한 로그아웃 시간을 변경하는 방법은?
앱의 로그아웃 시간을 저장하기 위해 shared_preferences를 사용할 수 있습니다. shared_preferences는 키-값 저장소로써 간단한 데이터를 안전하게 저장할 수 있습니다.
다음은 shared_preferences를 사용하여 사용자가 선택한 로그아웃 시간을 저장하는 방법입니다.
- 의존성 추가: pubspec.yaml 파일에
shared_preferences
패키지를 추가합니다.dependencies: shared_preferences: ^2.0.6
- 코드 작성: 아래 코드는 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> { TextEditingController _controller = TextEditingController(); late SharedPreferences _prefs; String _logoutTimeKey = 'logout_time'; @override void initState() { super.initState(); _initPreferences(); } Future<void> _initPreferences() async { _prefs = await SharedPreferences.getInstance(); } Future<void> _setLogoutTime() async { await _prefs.setString(_logoutTimeKey, _controller.text); } Future<String?> _getLogoutTime() async { return _prefs.getString(_logoutTimeKey); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Save Logout Time'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ TextField( controller: _controller, decoration: InputDecoration(labelText: 'Logout Time'), ), ElevatedButton( onPressed: () { _setLogoutTime(); }, child: Text('Save'), ), ElevatedButton( onPressed: () async { String? storedTime = await _getLogoutTime(); if (storedTime != null) { showDialog( context: context, builder: (BuildContext context) { return AlertDialog( content: Text('Stored Logout Time: $storedTime'), ); }, ); } }, child: Text('Show Saved Time'), ), ], ), ), ); } }
- 저장 및 검색:
SharedPreferences
인스턴스를 사용하여 로그아웃 시간을 저장하고 가져올 수 있습니다.
이제 사용자가 선택한 로그아웃 시간을 shared_preferences를 사용하여 저장하고 검색할 수 있습니다.