Application de notes simples avec Flutter

Dec 16 2022
.
Photo de David Travis sur Unsplash
  • Configurez un nouveau projet Flutter.
  • Concevez la mise en page de votre application. Cela pourrait inclure une vue de liste pour afficher les notes, un bouton d'action flottant pour ajouter une nouvelle note et un formulaire pour saisir le contenu de la note.
  • Implémentez la fonctionnalité pour ajouter une nouvelle note. Cela peut impliquer l'affichage d'un formulaire modal lorsque le bouton d'action flottant est cliqué, puis l'enregistrement de la nouvelle note dans une base de données ou un fichier lorsque le formulaire est soumis.
  • Implémentez la fonctionnalité pour afficher la liste des notes. Cela peut impliquer de lire les notes de la base de données ou du fichier et d'utiliser un widget ListView pour les afficher.
  • Implémentez la fonctionnalité pour modifier ou supprimer une note. Cela peut impliquer l'ajout de boutons ou d'options aux éléments de la liste de notes permettant à l'utilisateur d'effectuer ces actions.
  • (Facultatif) Ajoutez des fonctionnalités supplémentaires telles que le marquage, la recherche et le tri des notes.

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),
      ),
    );
  }
}