[flutter] shared_preferences 를 사용하여 사용자의 최근 재생한 비디오 목록을 저장하는 방법은 무엇인가요?
앱에서 사용자가 최근에 재생한 비디오 목록을 저장하고 싶은 경우, shared_preferences 패키지를 사용하여 간단하게 구현할 수 있습니다. shared_preferences는 앱의 설정과 상태 데이터를 키-값 쌍으로 저장할 수 있는 간편한 API를 제공합니다.
1. shared_preferences 패키지 추가
먼저, pubspec.yaml
파일에 shared_preferences 패키지를 추가해야 합니다. 아래와 같이 dependencies 항목에 추가해주세요:
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.5
그리고 패키지를 가져오기 위해 main.dart
파일에 다음과 같은 import 문을 추가해주세요:
import 'package:shared_preferences/shared_preferences.dart';
2. 비디오 목록 저장 및 불러오기
이제 비디오 목록을 저장하고 불러오는 기능을 구현해보겠습니다. 아래의 코드는 간단한 예제로, 최근 3개의 비디오만 저장하고 사용자가 추가로 재생한 비디오를 최신순으로 유지합니다.
// 비디오 목록 저장
Future<void> saveRecentVideos(List<String> videos) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
// 최근 3개의 비디오만 저장
prefs.setStringList('recent_videos', videos.take(3).toList());
}
// 비디오 목록 불러오기
Future<List<String>> getRecentVideos() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
List<String> recentVideos = prefs.getStringList('recent_videos') ?? [];
return recentVideos;
}
위의 코드에서는 SharedPreferences.getInstance()
를 사용하여 SharedPreferences 인스턴스를 가져온 후, setStringList()
를 사용하여 비디오 목록을 저장하고 getStringList()
를 사용하여 비디오 목록을 불러옵니다. 비디오 목록은 최대 3개까지 유지되며, 최신순으로 정렬됩니다.
3. 사용 예시
이제 저장된 비디오 목록을 어떻게 사용하는지 살펴보겠습니다.
void main() {
List<String> videos = ['video1', 'video2', 'video3', 'video4'];
// 비디오 목록 저장하기
saveRecentVideos(videos);
// 비디오 목록 불러오기
getRecentVideos().then((recentVideos) {
print('최근 재생한 비디오 목록: $recentVideos');
});
}
위의 예제에서는 비디오 목록 videos
를 저장한 후, getRecentVideos()
를 통해 최근 재생한 비디오 목록을 불러와서 출력합니다.