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