Flutter에서 사용자가 동영상을 시청할 때, 재생 위치를 저장하고 복원하는 것은 매우 유용합니다. 이를 위해 shared_preferences 패키지를 사용할 수 있습니다. shared_preferences는 Flutter 앱에서 간단한 키-값 쌍을 저장하고 검색하기 위한 인터페이스를 제공합니다.
shared_preferences 패키지 추가하기
먼저, pubspec.yaml
파일에 shared_preferences 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 패키지를 추가합니다:
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.6
그리고 패키지를 가져오기 위해 pub get
명령을 실행해주어야 합니다:
flutter pub get
이제 shared_preferences 패키지를 사용할 준비가 되었습니다.
재생 위치 저장하기
동영상의 재생 위치를 저장하기 위해 먼저 SharedPreferences 인스턴스를 생성해야 합니다. 이를 위해서는 SharedPreferences.getInstance()
메서드를 호출해야 합니다. 아래는 예시 코드입니다:
import 'package:shared_preferences/shared_preferences.dart';
void saveVideoPlaybackPosition(String videoId, int position) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setInt('video_${videoId}_position', position);
}
위의 코드에서 videoId
는 동영상의 고유 식별자를 나타내며, position
은 재생 위치입니다. videoId
를 사용하여 키를 생성하고, position
을 해당 키에 대한 값으로 저장합니다.
재생 위치 복원하기
저장된 재생 위치를 복원하기 위해서는 getInt()
메서드를 사용하여 해당 키의 값을 가져와야 합니다. 아래는 예시 코드입니다:
import 'package:shared_preferences/shared_preferences.dart';
Future<int> getVideoPlaybackPosition(String videoId) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
int position = prefs.getInt('video_${videoId}_position');
return position ?? 0;
}
위의 코드에서 videoId
는 복원할 동영상의 고유 식별자입니다. 해당 키의 값을 가져온 후, 값이 null인 경우 0을 반환합니다.
사용 예시
이제 재생 위치를 저장하고 복원하는 예시를 살펴보겠습니다:
String videoId = 'abcd1234';
int currentPosition = 120; // 현재 재생 위치
// 재생 위치 저장
saveVideoPlaybackPosition(videoId, currentPosition);
// 재생 위치 복원
int restoredPosition = await getVideoPlaybackPosition(videoId);
위의 코드에서 videoId
는 동영상의 고유 식별자이며, currentPosition
은 재생 위치입니다. saveVideoPlaybackPosition
함수를 사용하여 현재 재생 위치를 저장하고, getVideoPlaybackPosition
함수를 사용하여 복원합니다.
마무리
이제 Flutter 앱에서 동영상 재생 위치를 저장하고 복원하는 방법에 대해 알아보았습니다. shared_preferences를 사용하여 간단하게 데이터를 저장하고 검색할 수 있으므로, 앱의 사용자 경험을 향상시키는데 도움이 될 것입니다.