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
패키지를 사용하여 사용자가 선택한 사운드 재생 목록을 저장하고 불러올 수 있습니다.