[flutter] shared_preferences를 활용하여 사용자가 선택한 알림 설정을 변경하는 방법은?

알림 설정을 변경하는 기능을 개발하고자 할 때, 사용자가 한번 설정한 알림 설정을 저장하고 유지하는 것이 중요합니다. 이를 위해 Flutter에서는 shared_preferences 패키지를 활용할 수 있습니다. 이 패키지를 사용하여 사용자의 알림 설정을 저장하고 변경하는 방법을 알아보겠습니다.

1. shared_preferences 패키지 추가

가장 먼저 pubspec.yaml 파일에 shared_preferences 패키지를 추가합니다.

dependencies:
  shared_preferences: <latest_version>

위와 같이 shared_preferences 패키지를 추가한 후 flutter packages get 명령어를 실행하여 패키지를 다운로드합니다.

2. 알림 설정 저장

알림 설정을 사용자가 변경할 때마다 해당 설정을 shared_preferences에 저장합니다. 아래는 예제 코드입니다.

import 'package:shared_preferences/shared_preferences.dart';

void saveNotificationSetting(bool isEnabled) async {
  final prefs = await SharedPreferences.getInstance();
  prefs.setBool('notificationEnabled', isEnabled);
}

위 코드에서 saveNotificationSetting 함수는 사용자가 선택한 알림 설정을 shared_preferences에 저장하는 역할을 합니다.

3. 알림 설정 불러오기

저장된 알림 설정을 불러와서 화면에 적용합니다.

import 'package:shared_preferences/shared_preferences.dart';

bool isNotificationSettingEnabled = false;

void getNotificationSetting() async {
  final prefs = await SharedPreferences.getInstance();
  isNotificationSettingEnabled = prefs.getBool('notificationEnabled') ?? false;
}

위 코드에서 getNotificationSetting 함수는 저장된 알림 설정을 shared_preferences에서 불러와서 isNotificationSettingEnabled 변수에 저장합니다.

4. 알림 설정 변경 화면 구현

마지막으로, 사용자가 알림 설정을 변경할 수 있는 화면을 구현하고, 설정을 변경할 때는 앞서 작성한 함수를 호출하여 shared_preferences에 저장된 값을 변경합니다.

Switch(
  value: isNotificationSettingEnabled,
  onChanged: (value) {
    setState(() {
      isNotificationSettingEnabled = value;
      saveNotificationSetting(value);
    });
  },
)

위 코드는 Switch 위젯을 사용하여 알림 설정을 변경할 수 있는 화면을 구현한 예시입니다. 사용자가 변경한 설정은 saveNotificationSetting 함수를 통해 shared_preferences에 저장됩니다.

이렇게 하면 사용자가 선택한 알림 설정을 shared_preferences를 활용하여 저장하고 변경할 수 있습니다. 이를 통해 사용자의 개인 설정을 유지하고 앱이 종료되어도 설정이 그대로 유지됩니다.

참고 문헌

위의 예제에서는 shared_preferences 패키지를 사용하여 사용자의 알림 설정을 저장하고 변경하는 방법을 알아보았습니다. shared_preferences를 활용하면 사용자의 기본 설정을 유지하고, 그에 따라 동작하는 기능을 구현할 수 있습니다.