앱에서 로그인 정보를 저장하고 유효성을 검사하는 방법 중 하나는 shared_preferences 패키지를 사용하는 것입니다. 이를 통해 사용자의 로그인 상태를 유지하고 관리할 수 있습니다. 아래에서는 Flutter 앱에서 shared_preferences를 사용하여 로그인 정보를 유효성 검사하는 방법을 살펴보겠습니다.
1. shared_preferences 패키지 추가
가장 먼저 pubspec.yaml
파일에 shared_preferences 패키지를 추가합니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.6
위와 같이 dependencies 섹션에 shared_preferences 패키지를 추가하고 pub get
명령어를 실행하여 패키지를 설치합니다.
2. 로그인 정보 저장 및 유효성 검사
다음으로, 사용자의 로그인 정보를 shared_preferences를 사용하여 저장하고 유효성을 검사합니다. 예를 들어, 사용자가 로그인을 완료하면 로그인 정보를 저장하고, 앱을 다시 실행할 때 해당 정보를 사용하여 사용자의 로그인 상태를 확인할 수 있습니다.
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
class LoginScreen extends StatelessWidget {
Future<void> _saveLoginInfo() async {
final prefs = await SharedPreferences.getInstance();
await prefs.setBool('isLoggedIn', true);
}
Future<bool> _isUserLoggedIn() async {
final prefs = await SharedPreferences.getInstance();
return prefs.getBool('isLoggedIn') ?? false;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () async {
await _saveLoginInfo();
},
child: Text('로그인'),
),
),
);
}
}
위의 예제에서는 _saveLoginInfo
메서드를 사용하여 사용자의 로그인 상태를 저장하고, _isUserLoggedIn
메서드를 사용하여 사용자의 로그인 상태를 확인합니다.
3. 로그아웃 로직 추가
로그아웃 기능을 구현할 때는 shared_preferences에서 해당 사용자의 로그인 정보를 삭제하면 됩니다.
Future<void> _logout() async {
final prefs = await SharedPreferences.getInstance();
await prefs.remove('isLoggedIn');
}
위의 예제에서는 _logout
메서드를 사용하여 사용자의 로그인 정보를 삭제하는 방법을 보여줍니다.
Flutter에서 shared_preferences 패키지를 사용하여 로그인 정보를 유효성 검사하는 방법을 살펴 보았습니다. 해당 기능을 구현하면 사용자의 로그인 상태를 앱 내에서 효과적으로 관리할 수 있습니다.
참고: shared_preferences 패키지 공식 문서