[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:shared_preferences/shared_preferences.dart';
Future<void> saveSelectedLanguage(String languageCode) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('selectedLanguage', languageCode);
}
3. 언어 설정 불러오기
앱이 시작될 때 또는 새로운 언어가 선택될 때, 저장된 언어 설정을 불러옵니다.
import 'package:shared_preferences/shared_preferences.dart';
Future<String> getSelectedLanguage() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getString('selectedLanguage') ?? 'en'; // 기본값은 영어로 설정
}
4. 언어 업데이트
선택된 언어가 변경될 때, UI를 업데이트합니다. 이를 위해 setState를 호출하거나 Provider 또는 Bloc을 사용하여 상태 변경을 관리할 수 있습니다.
String _selectedLanguage = 'en'; // 기본 언어 설정
void updateLanguage(String newLanguage) {
setState(() {
_selectedLanguage = newLanguage;
});
}
이제 shared_preferences를 사용하여 사용자가 선택한 앱 언어를 업데이트할 수 있습니다. 변경된 언어 설정을 계속 유지하고 새로고침 또는 재부팅 후에도 사용자의 언어 선택을 유지할 수 있습니다.
참고: shared_preferences 패키지 공식 문서