앱을 개발하다 보면 사용자의 마지막 사용 일자를 저장하고 싶을 때가 있습니다. 이를 위해 Flutter에서는 shared_preferences 패키지를 사용할 수 있습니다. shared_preferences를 사용하면 간단하게 데이터를 저장하고 불러올 수 있습니다.
shared_preferences 패키지 추가하기
먼저 shared_preferences
패키지를 pubspec.yaml
파일에 추가해야 합니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.6 # 최신 버전으로 지정하세요
저장한 후, 터미널에서 flutter pub get
명령어를 실행하여 패키지를 다운로드하고 프로젝트에 추가합니다.
사용자의 마지막 사용 일자 저장하기
shared_preferences를 사용해 어플리케이션의 마지막 사용 일자를 저장하는 방법을 알아보겠습니다.
먼저, SharedPreferences
클래스의 인스턴스를 생성합니다. 이 클래스는 앱의 데이터를 저장하고 불러오는 기능을 제공합니다.
import 'package:shared_preferences/shared_preferences.dart';
void saveLastUsedDate() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
DateTime now = DateTime.now();
String lastUsedDate = now.toString(); // 마지막 사용 일자를 문자열로 변환합니다.
prefs.setString('lastUsedDate', lastUsedDate); // shared_preferences에 저장합니다.
}
위의 코드에서 SharedPreferences.getInstance()
메서드를 통해 SharedPreferences 인스턴스를 얻고, 현재 시간을 DateTime.now()
로 가져옵니다. 마지막으로 setString()
메서드를 사용하여 ‘lastUsedDate’라는 키로 값을 저장합니다.
저장된 마지막 사용 일자 불러오기
이제 저장된 마지막 사용 일자를 불러오는 방법을 알아보겠습니다.
import 'package:shared_preferences/shared_preferences.dart';
void getLastUsedDate() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String? lastUsedDate = prefs.getString('lastUsedDate'); // shared_preferences에서 값을 가져옵니다.
if(lastUsedDate != null) {
DateTime lastUsed = DateTime.parse(lastUsedDate); // 문자열로 저장된 값을 DateTime 타입으로 변환합니다.
print('Last used date: $lastUsed');
} else {
print('No last used date found');
}
}
위의 코드에서도 SharedPreferences.getInstance()
메서드를 통해 SharedPreferences 인스턴스를 얻어옵니다. 그리고 getString()
메서드를 사용하여 ‘lastUsedDate’ 키로 저장된 값을 가져옵니다.
저장된 값이 null이 아닌 경우, 문자열로 저장된 값을 DateTime.parse()
메서드를 사용하여 DateTime 타입으로 변환한 후 출력합니다. 저장된 값이 없는 경우에는 “No last used date found”를 출력합니다.
이제 saveLastUsedDate()
와 getLastUsedDate()
함수를 필요한 곳에서 호출하여 마지막 사용 일자를 저장하고 불러올 수 있습니다.