Aplicativo de notas simples com Flutter

Dec 16 2022
.
Foto de David Travis no Unsplash
  • Configure um novo projeto do Flutter.
  • Projete o layout do seu aplicativo. Isso pode incluir uma exibição de lista para exibir as notas, um botão de ação flutuante para adicionar uma nova nota e um formulário para inserir o conteúdo da nota.
  • Implemente a funcionalidade para adicionar uma nova nota. Isso pode envolver a exibição de um formulário modal quando o botão de ação flutuante é clicado e, em seguida, salvar a nova nota em um banco de dados ou arquivo quando o formulário é enviado.
  • Implemente a funcionalidade para exibir a lista de notas. Isso pode envolver a leitura das notas do banco de dados ou arquivo e o uso de um widget ListView para exibi-las.
  • Implemente a funcionalidade para editar ou excluir uma nota. Isso pode envolver a adição de botões ou opções aos itens da lista de notas que permitem ao usuário executar essas ações.
  • (Opcional) Adicione recursos adicionais, como marcar, pesquisar e classificar as notas.

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