[flutter] shared_preferences 를 사용하여 사용자가 선택한 자동완성 목록을 저장하는 방법은 무엇인가요?
  1. 먼저, shared_preferences 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 shared_preferences를 추가합니다:
dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8
  1. pubspec.yaml 파일 변경 후, 패키지를 가져옵니다. 터미널에서 다음 명령어를 실행합니다:
flutter pub get
  1. 이제 shared_preferences를 사용할 준비가 되었습니다. 자동완성 목록을 저장하기 위한 SharedPreferences 인스턴스를 생성합니다. 일반적으로 앱 전체에서 공유할 SharedPreferences 인스턴스를 생성하는 것이 좋습니다. 예를 들어, SharedPreferences 인스턴스를 생성하는 함수를 작성합니다:
import 'package:shared_preferences/shared_preferences.dart';

Future<SharedPreferences> getSharedPreferencesInstance() async {
  return await SharedPreferences.getInstance();
}
  1. 이제 자동완성 목록을 저장하고 가져오는 함수를 작성합니다. 예를 들어, saveAutoCompleteList 함수를 사용하여 자동완성 목록을 저장합니다:
import 'package:shared_preferences/shared_preferences.dart';

Future<void> saveAutoCompleteList(List<String> autoCompleteList) async {
  SharedPreferences prefs = await getSharedPreferencesInstance();
  await prefs.setStringList('autoCompleteList', autoCompleteList);
}
  1. 마지막으로, 저장된 자동완성 목록을 가져오는 getAutoCompleteList 함수를 작성합니다:
import 'package:shared_preferences/shared_preferences.dart';

Future<List<String>> getAutoCompleteList() async {
  SharedPreferences prefs = await getSharedPreferencesInstance();
  List<String>? autoCompleteList = prefs.getStringList('autoCompleteList');
  return autoCompleteList ?? []; // 예외 처리를 위해 null 체크
}

이제 saveAutoCompleteList 함수를 호출하여 자동완성 목록을 저장하고, getAutoCompleteList 함수를 호출하여 저장된 목록을 가져올 수 있습니다. 이렇게 하면 사용자가 선택한 자동완성 목록을 계속해서 유지할 수 있습니다.

참고 문서: