Di più

Costruisci un'app Flutter con funzionalità di trascinamento e rilascio utilizzando widget trascinabili e Back4App

22min

Introduzione

Le interfacce interattive di trascinamento e rilascio migliorano l'esperienza dell'utente consentendo agli utenti di manipolare gli elementi dell'interfaccia utente in modo intuitivo. Flutter fornisce i Draggable e DragTarget widget per creare tali interazioni. In questo tutorial, imparerai a costruire un'applicazione Flutter che utilizza i Draggable widget per spostare elementi tra le liste, con persistenza dei dati utilizzando Back4App—un backend-as-a-service alimentato da Parse Server.

Alla fine di questo tutorial, avrai un'app Flutter funzionante in cui gli utenti possono trascinare elementi da un elenco all'altro, e le modifiche saranno memorizzate e recuperate da Back4App. Questo tutorial è adatto per sviluppatori Flutter di tutti i livelli di esperienza.

Prerequisiti

Per completare questo tutorial, avrai bisogno di:

Panoramica

Costruiremo un'app di gestione delle attività in cui le attività possono essere trascinate da un elenco "Da fare" a un elenco "Completato" e viceversa. L'app:

  • Usa Draggable widget per abilitare il trascinamento delle attività.
  • Usa DragTarget widget per definire le zone di rilascio.
  • Memorizza e recupera le attività da Back4App per persistere i dati.

Passo 1 – Configurazione del Progetto Flutter

1.1. Crea un Nuovo Progetto Flutter

Apri il tuo terminale e esegui:

Bash


Naviga nella directory del progetto:

Bash


1.2. Aggiungi Dipendenze

Apri pubspec.yaml e aggiungi le seguenti dipendenze:

YAML


Esegui flutter pub get per installare i pacchetti.

Passo 2 – Configurazione di Back4App

2.1. Crea una Nuova Applicazione Back4App

  1. Accedi al tuo dashboard di Back4App.
  2. Clicca su "Crea nuova App".
  3. Inserisci un nome per la tua applicazione, ad esempio, "DragDropApp", e clicca su "Crea".

2.2. Configurare il Modello di Dati

  1. Nel tuo dashboard dell'applicazione, vai alla "Database" sezione.
  2. Clicca su "Crea una classe".
  3. Nella finestra modale:
    • Seleziona "Personalizzato".
    • Inserisci "Task" come nome della classe.
    • Clicca "Crea classe".

2.3. Aggiungi Colonne alla Classe

  1. Nella classe "Task", clicca su "+" per aggiungere nuove colonne.
  2. Aggiungi le seguenti colonne:
    • titolo: Tipo String
    • stato: Tipo String
  3. Aggiungi alcuni dati di esempio alla "Task" classe. Ad esempio:

2.4. Ottenere le Credenziali dell'Applicazione

  1. Naviga su Impostazioni App > Sicurezza e Chiavi.
  2. Annota il tuo ID Applicazione e Chiave Client.

Passo 3 – Inizializzare Parse nella tua App Flutter

Apri lib/main.dart e modificalo come segue:

Dart

  • Sostituisci 'YOUR_APPLICATION_ID' e 'YOUR_CLIENT_KEY' con le tue credenziali effettive di Back4App.

Passo 4 – Creazione del Modello di Task

Crea una nuova directory chiamata models sotto lib e aggiungi un file chiamato task.dart:

Dart


Passo 5 – Recupero dei Task da Back4App

Crea una nuova directory chiamata services sotto lib e aggiungi un file chiamato task_service.dart:

Dart


Passaggio 6 – Costruire l'interfaccia utente con Draggable e DragTarget

Crea una nuova directory chiamata screens sotto lib e aggiungi un file chiamato home_page.dart:

Dart


Spiegazione

  • HomePage: La schermata principale che visualizza due colonne—"Da Fare" e "Completati".
  • TaskColumn: Un widget che visualizza i compiti e funge da DragTarget per Draggable compiti.
  • TaskCard: Un widget per visualizzare le informazioni sui singoli compiti.

Passo 7 – Esecuzione dell'App

7.1. Esegui l'App

Nel tuo terminale, esegui:

Bash


7.2. Testa la funzionalità di Trascinamento e Rilascio

  • Trascina un'attività dalla colonna "Da Fare" e rilasciala nella colonna "Completato".
  • Lo stato dell'attività dovrebbe aggiornarsi e dovrebbe apparire sotto "Completato".
  • La modifica persiste in Back4App; se riavvii l'app, l'attività rimane nel suo nuovo stato.

Conclusione

In questo tutorial, hai imparato come implementare la funzionalità di trascinamento e rilascio in un'applicazione Flutter utilizzando Draggable e DragTarget widget. Hai integrato Back4App per memorizzare e recuperare i dati delle attività, consentendo la persistenza dei dati tra le sessioni. Questa app interattiva dimostra come migliorare l'esperienza utente con elementi UI intuitivi e un backend scalabile.

Punti Chiave

  • Widget Trascinabili: Consenti agli utenti di trascinare elementi dell'interfaccia.
  • Widget DragTarget: Definisci zone di rilascio per gli elementi trascinabili.
  • Integrazione Back4App: Fornisce un backend per memorizzare e gestire i dati.

Prossimi Passi

  • Aggiungi Autenticazione: Implementa l'autenticazione degli utenti per avere elenchi di attività personalizzati.
  • Migliora UI/UX: Aggiungi animazioni, icone personalizzate e layout migliorati.
  • Aggiornamenti in Tempo Reale: Usa le Live Queries di Back4App per aggiornare le attività in tempo reale su più dispositivi.
  • Gestione degli Errori: Implementa la gestione degli errori per problemi di rete e conflitti di dati.

Risorse Aggiuntive

Buon Codice!