Flutter에서는 shared_preferences 패키지를 사용하여 간단하게 사용자의 설정과 데이터를 저장할 수 있습니다. 이 패키지를 사용하여 사용자가 선택한 사운드 재생 목록을 저장하고 불러오는 방법을 알아보겠습니다.
1. shared_preferences 패키지 추가
사운드 재생 목록을 저장하기 위해 shared_preferences 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 아래와 같이 패키지를 추가합니다.
dependencies:
shared_preferences: ^2.0.13
설정을 적용하기 위해 pub get 명령을 실행하면 패키지가 프로젝트에 추가됩니다.
2. 데이터 저장하기
먼저, 사운드 재생 목록을 저장하는 메서드를 작성합니다. 다음은 saveSoundPlaylist라는 메서드 예시입니다.
import 'package:shared_preferences/shared_preferences.dart';
void saveSoundPlaylist(List<String> playlist) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setStringList('sound_playlist', playlist);
}
위의 코드에서는 SharedPreferences.getInstance() 메서드를 사용하여 SharedPreferences 인스턴스를 얻습니다. 이 인스턴스를 통해 데이터를 저장하고 불러올 수 있습니다.
prefs.setStringList('sound_playlist', playlist)를 사용하여 데이터를 저장합니다. sound_playlist는 저장할 데이터의 키입니다. playlist은 사용자가 선택한 사운드 재생 목록의 리스트입니다.
3. 데이터 불러오기
다음으로, 저장된 데이터를 불러와서 사용하는 메서드를 작성합니다. 다음은 loadSoundPlaylist라는 메서드 예시입니다.
import 'package:shared_preferences/shared_preferences.dart';
Future<List<String>> loadSoundPlaylist() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
List<String>? playlist = prefs.getStringList('sound_playlist');
return playlist ?? [];
}
위의 코드에서는 prefs.getStringList('sound_playlist')를 사용하여 저장된 데이터를 불러옵니다. 가져온 데이터는 List<String>? 형태로 반환됩니다. 이때 데이터가 없으면 null이므로 기본값인 빈 리스트 []로 반환합니다.
4. 사용 예시
이제 saveSoundPlaylist와 loadSoundPlaylist 메서드를 사용하여 사용자가 선택한 사운드 재생 목록을 저장하고 불러올 수 있습니다. 다음은 사용 예시입니다.
List<String> playlist = ['sound1', 'sound2', 'sound3'];
saveSoundPlaylist(playlist);
Future<void> printPlaylist() async {
List<String> loadedPlaylist = await loadSoundPlaylist();
print(loadedPlaylist);
}
printPlaylist(); // ['sound1', 'sound2', 'sound3']
위의 예시에서는 먼저 playlist이라는 사운드 재생 목록을 saveSoundPlaylist 메서드를 사용하여 저장합니다. 그리고 printPlaylist 메서드를 호출하여 저장된 목록을 불러와 출력합니다.
이렇게 shared_preferences 패키지를 사용하여 사용자가 선택한 사운드 재생 목록을 저장하고 불러올 수 있습니다.