[flutter] 플러터 프로바이더에서의 데이터 읽기와 쓰기
플러터 앱에서 데이터를 관리하고 상태를 관리하기 위해서는 상태 관리 라이브러리를 사용해야 합니다. 이러한 라이브러리 중 가장 인기 있는 것 중 하나가 프로바이더(Provider)입니다. 프로바이더를 사용하여 앱의 데이터를 읽고 쓰는 방법에 대해 알아보겠습니다.
데이터 모델 생성
우선, 데이터 모델을 만들어야 합니다. 예를 들어, 간단한 할 일 목록 앱의 경우, Task
라는 클래스를 만들어 사용할 수 있습니다.
class Task {
final String id;
final String title;
final bool isCompleted;
Task({required this.id, required this.title, this.isCompleted = false});
}
데이터 제공자 생성
다음으로, 데이터를 제공할 프로바이더(provider) 클래스를 생성해야 합니다. 데이터 제공자 클래스를 생성하고 데이터를 관리하는 방법에 대해 살펴보겠습니다.
import 'package:flutter/material.dart';
class TaskProvider extends ChangeNotifier {
List<Task> _tasks = [];
List<Task> get tasks => _tasks;
void addTask(Task task) {
_tasks.add(task);
notifyListeners();
}
void toggleTaskStatus(int index) {
_tasks[index].isCompleted = !_tasks[index].isCompleted;
notifyListeners();
}
}
프로바이더 사용하기
이제 데이터 제공자를 사용하여 데이터를 읽거나 쓸 수 있습니다. 다음은 TaskProvider
를 사용하여 데이터를 읽고 쓰는 방법입니다.
// 데이터 추가
TaskProvider taskProvider = context.read<TaskProvider>();
taskProvider.addTask(Task(id: '1', title: '할 일 1'));
// 데이터 읽기
List<Task> tasks = context.watch<TaskProvider>().tasks;
프로바이더를 사용하여 데이터를 읽고 쓰는 것은 매우 간단하며, 상태 관리를 효과적으로 처리할 수 있습니다.
플러터에서 데이터를 읽거나 쓰는 방법을 통해, 앱의 상태를 관리하고 사용자 경험을 향상시킬 수 있습니다.
참조: Provider 패키지