[flutter] shared_preferences를 활용하여 저장된 데이터를 백업 파일로 내보내는 방법은?

Flutter 앱에서 사용자가 저장한 데이터를 백업 파일로 내보내는 기능은 유용하고 중요합니다. 이를 위해 shared_preferences 패키지를 사용하여 데이터를 내보내는 방법을 알아보겠습니다.

shared_preferences란 무엇인가요?

shared_preferences 패키지는 Flutter 앱에서 간단한 키-값 쌍 형태의 데이터를 안전하게 저장하고 검색하는 데 사용됩니다. 이를 통해 사용자 설정, 선호도, 로그인 정보 등을 지속적으로 유지할 수 있습니다.

데이터를 백업 파일로 내보내는 방법

1. shared_preferences 패키지 추가

먼저 pubspec.yaml 파일에 shared_preferences 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.6

그런 다음 터미널에서 flutter pub get을 실행하여 패키지를 설치합니다.

2. 데이터를 백업하는 함수 구현

다음으로, 데이터를 백업하는 함수를 구현해야 합니다. 아래는 예시 코드입니다.

import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert';
import 'dart:io';

Future<void> exportDataToBackupFile() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  Map<String, dynamic> data = prefs.getKeys().fold<Map<String, dynamic>>(
    <String, dynamic>{},
    (Map<String, dynamic> acc, String key) {
      acc[key] = prefs.get(key);
      return acc;
    },
  );

  File backupFile = File('backup_data.json');
  await backupFile.writeAsString(json.encode(data));
}

이 코드는 모든 shared_preferences 데이터를 가져와 JSON 형식으로 직렬화한 후 백업 파일로 저장합니다.

3. 백업 버튼 추가

마지막으로, 사용자가 데이터를 백업할 수 있는 기능을 제공하기 위해 UI에 백업 버튼을 추가합니다. 해당 버튼을 누르면 위에서 작성한 exportDataToBackupFile 함수가 호출되도록 설정합니다.

ElevatedButton(
  onPressed: () {
    exportDataToBackupFile();
  },
  child: Text('백업 파일로 내보내기'),
),

이제 사용자는 위의 ‘백업 파일로 내보내기’ 버튼을 통해 데이터를 백업할 수 있습니다.

마치며

이제 flutter 앱에서 shared_preferences를 사용하여 저장된 데이터를 백업 파일로 내보내는 방법을 알아보았습니다. 이를 통해 사용자는 데이터를 안전하게 백업하고 복원할 수 있습니다. 만약 추가 질문이 있거나 도움이 필요하시면 언제든지 문의해주세요.