[flutter] shared_preferences 를 사용하여 사용자가 선택한 대화 상대의 목록을 저장하는 방법은 무엇인가요?
  1. 먼저, shared_preferences 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 dependencies 섹션에 해당 패키지를 추가합니다:

    dependencies:
      flutter:
        sdk: flutter
      shared_preferences: ^2.0.0
    
  2. 패키지를 추가한 후, import 문을 사용하여 shared_preferences 패키지를 가져옵니다:

    import 'package:shared_preferences/shared_preferences.dart';
    
  3. 사용자가 대화 상대를 선택하고 저장해야 하는 시나리오에서, 사용자가 선택한 대화 상대의 목록을 List 형태로 생성합니다:

    List<String> selectedContacts = ['John', 'Jane', 'Max'];
    
  4. 이제 SharedPreferences 인스턴스를 생성하고 사용자가 선택한 대화 상대의 목록을 저장하는 코드를 작성합니다:

    SharedPreferences prefs = await SharedPreferences.getInstance();
    await prefs.setStringList('selectedContacts', selectedContacts);
    

    위의 코드에서 ‘selectedContacts’는 저장할 데이터의 키입니다.

  5. 사용자가 앱을 다시 실행할 때, 저장된 데이터를 가져와야 합니다. SharedPreferences에서 데이터를 가져오는 코드는 다음과 같습니다:

    SharedPreferences prefs = await SharedPreferences.getInstance();
    List<String> selectedContacts = prefs.getStringList('selectedContacts') ?? [];
    

    위의 코드에서 getStringList 메서드는 해당 키에 해당하는 값을 가져오는 역할을 합니다. 값이 없는 경우, 빈 리스트로 초기화하도록 해야 합니다.

이렇게 하면 사용자가 선택한 대화 상대의 목록을 shared_preferences를 사용하여 저장하고 불러올 수 있습니다. 이전에 저장한 데이터를 가져오기 위해서는 getStringList 메서드를 사용하고, 새로운 데이터를 저장하기 위해서는 setStringList 메서드를 사용합니다.

참고 문서: