[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를 통해 저장된 데이터를 백업 파일에서 복원할 수 있습니다.

참고 문헌: