More

Как использовать Flutter Completers с бэкендом на Back4app

11min

Введение

Фьючерсы и Потоки — это то, что нужно для любых асинхронных операций. Однако иногда этого недостаточно. Если вам нужен более продвинутый контроль над Фьючерсами, то используйте Completer. Это инструмент, с помощью которого вы можете программно завершить Фьючерс. Таким образом, это обеспечивает лучший контроль над асинхронными операциями. Этот учебник поможет вам разобраться в использовании Flutter Completers в приложении, которое взаимодействует с бэкендом на Back4app. К концу этого учебника вы научитесь использовать Completers в приложении Flutter для управления асинхронными задачами и интеграции этих задач с предоставляемым сервисом бэкенда от Back4app. Мы собираемся создать очень простое приложение, которое получает данные от Back4app бэкенда, используя Completer для управления потоком приложения.

Предварительные требования

Чтобы завершить этот учебник, вам потребуется:

Шаг 1 – Настройка вашего Back4app бэкенда

Сначала давайте настроим простой бэкенд на Back4app, с которым будет взаимодействовать наше Flutter приложение.

  1. Войдите в свою учетную запись Back4app и создайте новый проект.
  2. Настройте новый класс Parse с именем Task, который будет хранить задачи, которые наше Flutter приложение будет извлекать. Добавьте следующие столбцы в класс Task :
    • name (String): Имя задачи.
    • status (Boolean): Статус задачи (выполнена или нет).
  3. Добавьте несколько тестовых задач в базу данных Back4app для тестирования. Например:
    • Задача 1: name = "Завершить учебник по Flutter", status = true
    • Задача 2: name = "Начать новый проект", status = false

Ваш бэкенд Back4app теперь готов к доступу из приложения Flutter.

Шаг 2 – Создание проекта Flutter

Далее мы создадим новый проект Flutter.

  1. Откройте терминал или командную строку.
  2. Выполните следующую команду, чтобы создать новый проект Flutter:
Bash

  1. Перейдите в каталог проекта:
Bash


2. Откройте проект в вашем предпочтительном редакторе кода (например, VS Code, Android Studio).

Шаг 3 – Добавление Parse SDK и настройка приложения

Теперь давайте добавим необходимые зависимости для взаимодействия с Back4app.

  1. Откройте pubspec.yaml и добавьте следующие зависимости:
YAML


2. Запустите flutter pub get для установки зависимостей.

3. В lib/main.dart, импортируйте Parse SDK:

Dart


4. Инициализируйте Parse в функции main:

Dart


Замените 'YOUR_APP_ID' и 'YOUR_CLIENT_KEY' на ваши реальные учетные данные Back4app.

Шаг 4 – Использование Completers для асинхронного получения данных

Теперь давайте используем Completer для получения данных из бэкенда Back4app и контроля, когда данные будут доступны для использования в пользовательском интерфейсе.

  1. В lib/main.dart, создайте новый класс, который будет получать задачи из Back4app, используя Completer:
Dart


Этот класс инициализирует Completer, начинает извлечение данных и завершает Completer, когда данные становятся доступными.

2. В виджете MyApp, используйте TaskManager, чтобы извлечь и отобразить задачи:

Dart


3. Запустите ваше приложение Flutter:

Вы должны увидеть список задач, извлеченных из вашего бэкенда Back4app, с их именами и статусом завершения.

Заключение

В этом уроке вы узнали, как использовать Flutter Completers для управления асинхронными операциями и контроля потока извлечения данных в вашем приложении. Интегрировавшись с Back4app, вы создали простой, но мощный бэкенд для вашего приложения Flutter, позволяющий вам динамически извлекать и отображать данные. Этот подход можно расширить для обработки более сложных сценариев, таких как аутентификация пользователей, манипуляция данными и многое другое.

Для получения дополнительной информации о том, как использовать Flutter с Back4app, ознакомьтесь с документацией Back4app по Flutter. Удачного кодирования!