Capítulo 56 — Calculadora
Parte 1C — Oito miniprojetos · Capítulo 56 de 62 · 12 h
Capítulo 56 — Calculadora
Nível: intermediário Duração estimada: 12 h Pré-requisitos: capítulos 08, 09, 13, 16 (Dart) e 45, 46, 48, 49, 51 (Flutter), além do capítulo 55 (projeto 1) O que você saberá fazer ao final: escrever um aplicativo Flutter cujo núcleo de negócio é uma classe Dart pura, testada unitariamente, e cuja interface é apenas uma camada de exibição conectada a ela.
56.0 — Objetivos do capítulo
Ao final deste capítulo, você será capaz de:
- transformar um documento de requisitos em um autômato de estados antes de escrever a primeira linha de código;
- isolar a lógica de negócio em uma classe Dart sem nenhum
import 'package:flutter/...'; - modelar a digitação de um número dígito por dígito, incluindo o separador decimal;
- encadear operações como uma verdadeira calculadora de bolso, tratando a repetição de
=,C,CE, o sinal e a porcentagem; - lançar e capturar uma exceção de negócio (
DivisionParZeroException); - formatar um
doublepara exibição humana: separador de milhares, vírgula decimal, notação científica; - impedir que um texto longo demais estoure a tela com
FittedBox; - construir uma grade de botões com
RoweExpanded, semGridView; - escrever um widget de botão reutilizável, parametrizado por um
enume colorido peloColorScheme; - produzir um efeito de toque correto com
Material+InkWell; - conectar a lógica à interface com um único
setStatee exibir um histórico em umListView; - aceitar o teclado físico com
KeyboardListenereLogicalKeyboardKey; - escrever os testes unitários da lógica, executáveis sem emulador.
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão