[flutter] shared_preferences 를 사용하여 사용자가 본 텔레비전 프로그램 목록을 저장하는 방법은 무엇인가요?

shared_preferences는 Flutter 앱에서 간단한 데이터를 영구적으로 저장하기 위한 플러그인입니다. 이를 사용하여 사용자가 본 텔레비전 프로그램 목록을 저장하는 방법을 알아보겠습니다.

1. shared_preferences 패키지 가져오기

먼저, shared_preferences 패키지를 사용할 수 있도록 프로젝트에 추가해야 합니다. pubspec.yaml 파일을 열고 shared_preferences 패키지를 의존성에 추가합니다. 아래와 같이 작성하세요:

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8

변경 사항을 저장한 후, 터미널에서 flutter pub get 명령어를 실행하여 패키지를 가져옵니다.

2. SharedPreferences 인스턴스 생성하기

SharedPreferences 클래스는 shared_preferences 패키지에 포함되어 있습니다. 이 클래스의 인스턴스를 생성하여 사용자가 본 텔레비전 프로그램 목록을 저장할 수 있습니다. 아래와 같은 코드를 사용하여 인스턴스를 생성하세요:

import 'package:shared_preferences/shared_preferences.dart';

Future<void> saveWatchedPrograms(List<String> programs) async {
  SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
}

3. 텔레비전 프로그램 목록 저장하기

SharedPreferences 인스턴스를 사용하여 텔레비전 프로그램 목록을 저장할 수 있습니다. setStringList 메소드를 사용하여 목록을 저장하세요. 아래 코드를 saveWatchedPrograms 함수에 추가하세요:

Future<void> saveWatchedPrograms(List<String> programs) async {
  SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
  await sharedPreferences.setStringList('watched_programs', programs);
}

위의 코드에서 watched_programs는 저장할 목록의 키 이름이며, programs는 사용자가 본 텔레비전 프로그램 목록입니다.

4. 저장된 목록 불러오기

이제 저장된 텔레비전 프로그램 목록을 불러올 수 있습니다. getStringList 메소드를 사용하여 불러와야 합니다. 아래와 같은 코드를 사용하여 저장된 프로그램 목록을 불러오세요:

Future<List<String>?> getWatchedPrograms() async {
  SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
  return sharedPreferences.getStringList('watched_programs');
}

위의 코드에서 watched_programs는 저장된 목록의 키 이름입니다. getWatchedPrograms 함수는 List<String>? 타입을 반환하여 저장된 목록이 없는 경우 null을 반환할 수 있음을 나타냅니다.

요약

이제 shared_preferences를 사용하여 사용자가 본 텔레비전 프로그램 목록을 저장하는 방법을 알게 되었습니다. 인스턴스를 생성하고 목록을 저장 및 불러오는 방법을 확인했습니다. 이를 기반으로 앱에 필요한 데이터를 영구적으로 저장하고 활용할 수 있습니다. 자세한 내용은 공식 문서를 참조하세요.