[flutter] shared_preferences를 통해 저장된 데이터를 백업 파일에서 복원하는 방법은?
이 블로그 포스트에서는 flutter 앱에서 shared_preferences를 사용하여 로컬에 저장된 데이터를 백업 파일로 복원하는 방법에 대해 알아보겠습니다.
shared_preferences란 무엇인가요?
shared_preferences 는 flutter에서 간단한 로컬 데이터를 영속적으로 저장하고 가져오는 데 사용되는 패키지입니다. 이를 통해 사용자 설정, 테마, 로그인 정보 등을 저장하고 관리할 수 있습니다.
데이터를 백업 파일로 저장하기
먼저, shared_preferences를 사용하여 로컬에 저장된 데이터를 백업 파일로 저장하는 방법을 살펴보겠습니다. 아래는 저장된 데이터를 파일로 백업하는 예제 코드입니다.
import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert';
import 'dart:io';
backupData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
Map<String, dynamic> data = {
"username": prefs.getString("username"),
"theme": prefs.getString("theme"),
// 다른 필요한 데이터들을 추가할 수 있습니다.
};
String jsonData = json.encode(data);
File file = File('backup.json');
await file.writeAsString(jsonData);
}
위 코드에서는 shared_preferences
를 사용하여 저장된 데이터를 가져와 JSON 형식으로 변환한 뒤 백업 파일에 저장합니다.
백업 파일에서 데이터 복원하기
이제, 백업 파일에서 데이터를 읽어와 shared_preferences에 복원하는 방법을 살펴보겠습니다. 아래는 백업 파일에서 데이터를 읽어와 shared_preferences에 복원하는 예제 코드입니다.
import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert';
import 'dart:io';
restoreData() async {
File file = File('backup.json');
String jsonData = await file.readAsString();
Map<String, dynamic> data = json.decode(jsonData);
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString("username", data["username"]);
prefs.setString("theme", data["theme"]);
// 다른 필요한 데이터들을 복원할 수 있습니다.
}
위 코드에서는 백업 파일에서 JSON 데이터를 읽어와 shared_preferences에 복원하여 사용자 데이터를 복원합니다.
이제, 이러한 방법을 사용하여 flutter 앱에서 shared_preferences를 통해 저장된 데이터를 백업 파일에서 복원할 수 있습니다.
참고 문헌: