App per appunti semplici con Flutter

Dec 16 2022
.
Foto di David Travis su Unsplash
  • Imposta un nuovo progetto Flutter.
  • Progetta il layout della tua app. Ciò potrebbe includere una visualizzazione elenco per visualizzare le note, un pulsante di azione mobile per aggiungere una nuova nota e un modulo per inserire il contenuto della nota.
  • Implementa la funzionalità per aggiungere una nuova nota. Ciò potrebbe comportare la visualizzazione di un modulo modale quando si fa clic sul pulsante di azione mobile e quindi il salvataggio della nuova nota in un database o in un file quando il modulo viene inviato.
  • Implementare la funzionalità per visualizzare l'elenco delle note. Ciò potrebbe comportare la lettura delle note dal database o dal file e l'utilizzo di un widget ListView per visualizzarle.
  • Implementa la funzionalità per modificare o eliminare una nota. Ciò potrebbe comportare l'aggiunta di pulsanti o opzioni agli elementi dell'elenco delle note che consentono all'utente di eseguire queste azioni.
  • (Facoltativo) Aggiungi funzionalità aggiuntive come taggare, cercare e ordinare le note.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Notes App',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Notes'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final List<String> _notes = [];

  void _addNote() {
    setState(() {
      _notes.add('New note');
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView.builder(
        itemCount: _notes.length,
        itemBuilder: (context, index) {
          return ListTile(
            title: Text(_notes[index]),
          );
        },
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _addNote,
        tooltip: 'Add Note',
        child: Icon(Icons.add),
      ),
    );
  }
}