Di più

Come creare widget per la schermata principale in Flutter con HomeWidget e Back4App?

31min

Introduzione

I widget della schermata principale consentono agli utenti di accedere a informazioni in tempo reale dalla tua app direttamente sulla schermata principale del loro dispositivo senza aprire l'app. Con Flutter, la creazione di questi widget richiede un po' di codice specifico per la piattaforma. Tuttavia, il home_widget pacchetto colma questa lacuna abilitando lo scambio di dati tra la tua app Flutter e i widget della schermata principale utilizzando codice Dart.

In questo tutorial, imparerai a creare un widget della schermata principale in Flutter utilizzando il home_widget pacchetto e integrarlo con Back4App—un backend-as-a-service alimentato da Parse Server. Alla fine di questo tutorial, avrai un'app Flutter che visualizza i dati da Back4App in un widget della schermata principale.

Prerequisiti

Per completare questo tutorial, avrai bisogno di:

  • Flutter SDK installato sul tuo computer. Puoi seguire la guida ufficiale all'installazione di Flutter per il tuo sistema operativo.
  • Conoscenze di base di Flutter e Dart. Se sei nuovo a Flutter, considera di rivedere la documentazione di Flutter per familiarizzare con le basi.
  • Un IDE o editor di testo come Visual Studio Code o Android Studio.
  • Un account Back4App. Registrati per un account gratuito su Back4App.
  • Parse Server SDK per Flutter aggiunto al tuo progetto. Puoi imparare come configurarlo seguendo la Guida SDK Flutter di Back4App.
  • Configurazione specifica della piattaforma per i widget della schermata principale di Android e iOS.

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, "HomeWidgetApp", e clicca su "Crea".

2.2. Configura il Modello di Dati

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

2.3. Aggiungi colonne alla classe

  1. Nella classe "Messaggio" clicca su "+" per aggiungere una nuova colonna.
  2. Aggiungi le seguenti colonne:
    • titolo: Tipo Stringa
    • contenuto: Tipo Stringa
  3. Aggiungi alcuni dati di esempio alla "Messaggio" classe. Ad esempio:

2.4. Ottieni le credenziali dell'applicazione

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

Passaggio 3 – Inizializzazione di 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.

Passaggio 4 – Recupero dei dati da Back4App

Crea un nuovo file lib/home_page.dart:

Dart


Spiegazione

  • Classe Messaggio: Una semplice classe modello per contenere i dati del messaggio.
  • fetchMessage(): Recupera i dati dalla Classe Messaggio in Back4App e aggiorna la variabile messaggio.
  • updateHomeWidget(): Salva i dati recuperati nel widget della schermata principale utilizzando HomeWidget.saveWidgetData e attiva un aggiornamento utilizzando HomeWidget.updateWidget.
  • build(): Visualizza i dati del messaggio e un pulsante per aggiornare il messaggio.

Passo 5 – Configurazione del Widget della Schermata Principale

5.1. Configurazione Android

5.1.1. Crea il Layout del Widget

Crea un nuovo file di layout XML in android/app/src/main/res/layout/ chiamato home_widget.xml:

XML


5.1.2. Crea il Provider del Widget

Crea una nuova classe Java in android/app/src/main/java/your/package/name/ chiamata HomeWidgetProvider.java:

Java


Sostituisci your.package.name con il tuo nome pacchetto reale.

5.1.3. Aggiorna Android Manifest

Aggiungi il provider del widget al tuo AndroidManifest.xml:

XML


5.1.4. Crea Widget Info XML

Crea un nuovo file XML in android/app/src/main/res/xml/ chiamato home_widget_info.xml:

XML


5.2. Configurazione iOS

5.2.1. Crea un'estensione Widget

  1. Apri il tuo progetto Flutter in Xcode aprendo ios/Runner.xcworkspace.
  2. Clicca File > Nuovo > Target.
  3. Scegli Widget Extension e clicca Avanti.
  4. Inserisci HomeWidget come nome del prodotto e assicurati che Includi Configurazione Intent non sia selezionato.
  5. Clicca Fine e Attiva lo schema.

5.2.2. Aggiorna il codice del Widget

Nell'estensione HomeWidget apri HomeWidget.swift e modificalo:

Swift

  • Sostituisci YOUR_GROUP_ID con il tuo identificatore del gruppo app (ad es., group.com.example.homeWidgetApp).

5.2.3. Configura i Gruppi App

  1. In Xcode, seleziona il tuo progetto e vai a Signing & Capabilities.
  2. Aggiungi "App Groups" sia al tuo target principale dell'app che all'estensione del widget.
  3. Crea un nuovo Gruppo App (ad es., group.com.example.homeWidgetApp).
  4. Assicurati che entrambi i target abbiano lo stesso Gruppo App abilitato.

5.3. Aggiorna il Codice Flutter per Configurazioni Specifiche della Piattaforma

Nel tuo updateHomeWidget() metodo in home_page.dart, aggiorna i nomi dei widget:

Dart


Passo 6 – Eseguire l'App e Testare il Widget

6.1. Esegui l'App

Nel tuo terminale, esegui:

Bash


6.2. Aggiungi il Widget alla Tua Home Screen

Android

  1. Tieni premuto sulla home screen e seleziona "Widgets".
  2. Trova la tua app nell'elenco dei widget.
  3. Trascina e rilascia il widget sulla tua home screen.

iOS

  1. Entra in modalità jiggle tenendo premuto sulla home screen.
  2. Tocca il "+" pulsante nell'angolo in alto a sinistra.
  3. Cerca il tuo widget per nome.
  4. Aggiungi il widget alla tua home screen.

6.3. Aggiornamenti dei Dati di Test

  • Tocca il "Pulsante di Aggiornamento" nella tua app per recuperare nuovi dati da Back4App.
  • Il widget sulla tua schermata principale dovrebbe aggiornarsi con i nuovi dati.

Conclusione

In questo tutorial, hai imparato come creare un widget per la schermata principale in Flutter utilizzando il home_widget pacchetto e integrandolo con Back4App per visualizzare dati dinamici. Questo ti consente di fornire agli utenti informazioni aggiornate direttamente sulle loro schermate principali, migliorando il coinvolgimento e l'esperienza dell'utente.

Prossimi Passi

  • Dati Dinamici: Implementa aggiornamenti dei dati in tempo reale utilizzando le Live Queries di Back4App.
  • Interattività: Aggiungi azioni di clic al tuo widget per aprire pagine specifiche nella tua app.
  • Personalizzazione: Stila il tuo widget per adattarlo al tema e al design della tua app.

Risorse Aggiuntive

Buon Codice!