[flutter] 플러터 get_storage를 사용하여 플러터 앱에서 사용자가 참여한 이벤트 목록을 저장하는 방법을 알려주세요.

플러터 앱에서 get_storage 패키지를 사용하여 사용자가 참여한 이벤트 목록을 로컬에 저장하는 방법에 대해 알아보겠습니다.

1. get_storage 패키지 추가하기

먼저, pubspec.yaml 파일에 다음과 같이 get_storage 패키지를 추가합니다:

dependencies:
  flutter:
    sdk: flutter
  get_storage: ^2.0.3

이후, 명령어를 실행하여 패키지를 설치합니다:

flutter pub get

2. get_storage 초기화

플러터 앱의 main.dart 파일에서 get_storage를 초기화합니다. 이렇게하면 앱이 시작될 때 로컬 저장소가 준비됩니다.

import 'package:flutter/material.dart';
import 'package:get_storage/get_storage.dart';

void main() async {
  await GetStorage.init();
  runApp(MyApp());
}

3. 이벤트 목록 저장 및 불러오기

이제 사용자가 참여한 이벤트 목록을 저장하고 불러오기 위한 간단한 예제를 살펴봅시다.

import 'package:flutter/material.dart';
import 'package:get_storage/get_storage.dart';

void main() async {
  await GetStorage.init();
  runApp(MyApp());
}

class EventListPage extends StatefulWidget {
  @override
  _EventListPageState createState() => _EventListPageState();
}

class _EventListPageState extends State<EventListPage> {
  final _eventListKey = 'eventList';
  List<String> _events = <String>[];

  @override
  void initState() {
    super.initState();
    _loadEvents();
  }

  Future<void> _loadEvents() async {
    final eventBox = GetStorage();
    if (eventBox.hasData(_eventListKey)) {
      _events = eventBox.read(_eventListKey).cast<String>();
      setState(() {});
    }
  }

  Future<void> _saveEvent(String eventName) async {
    final eventBox = GetStorage();
    _events.add(eventName);
    eventBox.write(_eventListKey, _events);
  }

  @override
  Widget build(BuildContext context) {
    // 화면 구성 및 이벤트 목록 표시
  }
}

결론

get_storage를 사용하여 플러터 앱에서 사용자가 참여한 이벤트 목록을 저장하는 방법에 대해 알아보았습니다. 이를 통해 앱이 오프라인 상태일 때도 사용자의 데이터를 안전하게 보관할 수 있게 되었습니다.