[flutter] shared_preferences를 활용하여 사용자가 선택한 언어 설정을 저장하는 방법은?

이번에는 flutter 앱에서 사용자가 선택한 언어 설정을 저장하고 가져오는 방법에 대해 알아보겠습니다. 이를 위해 shared_preferences 패키지를 사용하여 사용자의 언어 설정을 영구적으로 저장할 수 있습니다.

1. shared_preferences 패키지 추가

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

dependencies:
  shared_preferences: ^2.0.6

그리고 터미널에서 아래 명령어를 실행하여 패키지를 설치합니다.

flutter pub get

2. 사용자가 선택한 언어 설정 저장하기

사용자가 선택한 언어를 shared_preferences에 저장하는 코드는 다음과 같습니다.

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void saveLanguagePreference(String languageCode) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('language', languageCode);
}

위의 코드에서 languageCode는 사용자가 선택한 언어 코드입니다. 이 코드는 사용자가 설정을 변경할 때 호출되어야 합니다.

3. 저장된 언어 설정 불러오기

이제 저장된 언어 설정을 불러와서 앱에 적용할 수 있습니다.

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

Future<String> getLanguagePreference() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  return prefs.getString('language') ?? 'en'; // 기본값은 영어
}

위의 코드는 저장된 언어 설정을 가져오는 함수입니다. 만약 저장된 설정이 없을 경우 기본값으로 영어를 반환합니다.

이제 사용자가 선택한 언어 설정을 shared_preferences를 통해 저장하고 불러오는 방법에 대해 알아보았습니다. 이를 통해 flutter 앱에서 사용자가 원하는 언어로 앱을 설정할 수 있습니다.