Partilhar: WhatsApp
aulify
UC UC02835 · T. Desenv. Software

Ficha 02 · Navegação, APIs e armazenamento

Vários ecrãs, consumir API, persistir, publicar
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Navegação

Exercício 1 · Push/pop (15 pts)

a) Escreve o código para ir de HomeScreen para DetalheScreen.

b) E para voltar.

c) Como passar um produtoId para o DetalheScreen?

Exercício 2 · Rotas nomeadas (10 pts)

Configura uma MaterialApp com 3 rotas nomeadas e mostra como navegar para uma delas.

Parte II · APIs

Exercício 3 · Consumir API (20 pts)

Escreve uma função async que faz GET a https://api.aulify.pt/produtos, devolve a lista (JSON) ou lança excepção em erro.

Exercício 4 · FutureBuilder (20 pts)

Usa um FutureBuilder para mostrar: - Um spinner enquanto carrega. - A lista de produtos quando chega. - Mensagem de erro se falhar.

Exercício 5 · Modelo de dados (10 pts)

Cria uma classe Produto com fromJson para converter o JSON da API em objecto.

Parte III · Armazenamento

Exercício 6 · Escolher solução (10 pts)

Para cada dado, indica onde guardar:

a) Preferência "dark mode on/off". ___

b) Token de autenticação. ___

c) Cache de 500 produtos para uso offline. ___

d) Última pesquisa do utilizador. ___

Exercício 7 · shared_preferences (15 pts)

Escreve funções para guardar e ler a preferência "dark mode" (booleano), com valor por defeito false.

Parte IV · Publicação

Exercício 8 · Antes de publicar (10 pts)

Lista 5 coisas a preparar antes de submeter uma app às lojas.