[flutter] shared_preferences 를 사용하여 사용자의 음악 재생 목록을 저장하는 방법은 무엇인가요?

Flutter 애플리케이션에서 사용자의 음악 재생 목록을 저장하고 관리하기 위해 shared_preferences 패키지를 사용할 수 있습니다. shared_preferences는 Flutter에서 데이터를 로컬로 저장하고 검색하기 위한 간단한 키-값 저장소입니다.

이 패키지를 사용하여 사용자의 음악 재생 목록을 저장하는 방법을 살펴보겠습니다.

1. shared_preferences 패키지 추가하기

앱의 pubspec.yaml 파일에 shared_preferences 패키지를 추가합니다. 다음과 같이 dependencies 섹션에 추가해주세요:

dependencies:
  shared_preferences: ^2.0.12

패키지를 추가한 후에는 flutter pub get 명령을 실행하여 패키지를 가져옵니다.

2. 데이터 저장하기

사용자의 음악 재생 목록을 저장하기 위해 다음 단계를 따릅니다:

2.1. SharedPreferences 객체 생성하기

SharedPreferences.getInstance() 메서드를 사용하여 SharedPreferences 객체를 생성합니다. 이 객체는 앱의 설정을 저장하고 액세스하는 데 사용됩니다.

SharedPreferences prefs = await SharedPreferences.getInstance();

2.2. 데이터 저장하기

다음과 같이 setStringList() 메서드를 사용하여 사용자의 음악 재생 목록을 저장합니다. 예를 들어, 재생 목록이 리스트 형식으로 playlist 변수에 저장되어 있다고 가정해 봅시다.

List<String> playlist = ['song1.mp3', 'song2.mp3', 'song3.mp3'];

await prefs.setStringList('music_playlist', playlist);

위의 코드는 ‘music_playlist’라는 키로 재생 목록을 저장합니다.

3. 데이터 검색하기

저장한 음악 재생 목록을 검색하려면 다음과 같은 단계를 따릅니다:

3.1. SharedPreferences 객체 생성하기

SharedPreferences prefs = await SharedPreferences.getInstance();

3.2. 데이터 검색하기

저장한 음악 재생 목록을 가져올 때는 getStringList() 메서드를 사용합니다.

List<String>? savedPlaylist = prefs.getStringList('music_playlist');

저장된 목록을 가져와서 savedPlaylist 변수에 저장합니다.

4. 예외 처리하기

외부 저장소에 액세스할 때 발생할 수 있는 예외를 처리해야 합니다. Shared_preferences 라이브러리의 getInstance 메서드는 기본적으로 Future를 반환하므로 await 키워드를 사용하여 호출해야 합니다.

또한 해당 키가 존재하지 않는 경우에 대한 예외 처리도 추가하는 것이 좋습니다.

try {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  List<String>? savedPlaylist = prefs.getStringList('music_playlist');
  
  // 재생 목록이 존재하지 않는 경우
  if (savedPlaylist == null) {
    savedPlaylist = [];
  }

  // 저장된 재생 목록 사용
  // ...
} catch (e) {
  // 예외 처리
  print('Error: $e');
}

이제 shared_preferences를 사용하여 사용자의 음악 재생 목록을 저장하고 검색할 수 있습니다. 중요한 데이터를 저장할 때는 항상 예외 처리를 포함하여 안전하게 데이터를 관리해야 합니다.

참고 링크: shared_preferences 패키지 - pub.dev