[flutter] shared_preferences를 활용하여 사용자가 로그아웃했을 때 저장된 데이터를 유지하는 방법은?

앱을 개발하다 보면 사용자가 로그아웃한 후에도 일부 데이터를 유지하고 싶을 때가 있습니다. Flutter에서는 이를 관리하기 위해 shared_preferences 패키지를 사용할 수 있습니다. 이 패키지를 이용하여 사용자가 로그아웃한 후에도 데이터를 유지하는 방법에 대해 알아보겠습니다.

1. Shared Preferences 패키지 추가하기

먼저, pubspec.yaml 파일에 shared_preferences 패키지를 추가합니다. 아래와 같이 dependencies 섹션에 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8

이후 터미널에서 flutter pub get을 실행하여 패키지를 다운로드 받습니다.

2. 데이터 저장 및 로드하기

사용자가 로그인할 때 데이터를 저장하고, 로그아웃 후에도 이를 유지하기 위해 shared_preferences를 사용합니다. 아래는 데이터를 저장하는 예제 코드입니다.

import 'package:shared_preferences/shared_preferences.dart';

void saveUserData(String username) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('username', username);
}

데이터를 가져오고 사용하는 예제 코드는 다음과 같습니다.

Future<String> getUserData() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String username = prefs.getString('username') ?? '';
  return username;
}

3. 로그아웃 후 데이터 유지하기

사용자가 로그아웃한 후에도 데이터를 유지하기 위해서, 로그아웃 기능을 구현하는 부분에서 shared_preferences에 저장된 데이터를 삭제하면 됩니다.

void logoutUser() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.remove('username');
}

이제 사용자가 로그아웃한 후에도 shared_preferences에 저장된 데이터가 유지될 수 있게 되었습니다.

shared_preferences를 사용하면 사용자 데이터를 안전하게 저장하고, 로그아웃 상태에서도 유지할 수 있습니다. 유저 데이터를 관리할 때 유용한 패키지이니 적절히 활용해보시기 바랍니다.

더 많은 정보는 shared_preferences 패키지 문서를 참고해 주세요.