[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 패키지