HamburgueriaZ: Documentação Completa
App Android desenvolvido em Java | Interface Personalizada | Intent de E-mail
Resumo do Objetivo
O que vamos construir?
Construir um aplicativo Android funcional para uma hamburgueria, permitindo que os clientes montem seus pedidos de forma personalizada. Você praticará desde a criação da interface visual (UI) até a implementação da lógica de negócios, utilizando a linguagem Java para processar as escolhas do usuário.
Além do desenvolvimento interno, a atividade foca na interação entre aplicativos. Você aprenderá a padronizar estilos visuais através de temas e a utilizar Intents para exportar os dados do pedido (nome, adicionais, quantidade e preço) para um aplicativo de e-mail externo, simulando um processo real de finalização de pedido.
Tecnologias Utilizadas
- Java - Linguagem principal do projeto
- Android Studio - IDE de desenvolvimento
- XML - Interface do usuário
- Intent ACTION_SENDTO - Envio de e-mail
- Themes.xml - Estilização global
Checklist de Requisitos
✅ ObrigatórioConfiguração
- Nome: "HamburgueriaZ"
- Linguagem: Java
- Minimum SDK: API 23
Interface Visual
- Logo/banner no topo
- Campo para nome do cliente
- Checkboxes (Bacon, Queijo, Onion Rings)
- Seletor de quantidade (+ / -)
- Resumo do Pedido e Preço Total
- Botão "Fazer Pedido"
Regras de Negócio
- Preço base: R$ 20,00
- Bacon: + R$ 2,00
- Queijo: + R$ 2,00
- Onion Rings: + R$ 3,00
- Bloqueio de valores negativos
Funcionalidade de Saída
-
Intent com
ACTION_SENDTO - Assunto com nome do cliente
- Corpo com resumo formatado
Ícone do App na Área de Trabalho
Descrição
Print mostrando o ícone do aplicativo HamburgueriaZ instalado na tela inicial do dispositivo Android. O ícone deve estar visível junto com os demais aplicativos do sistema.
Dica Técnica
O ícone do app é definido no arquivo
AndroidManifest.xml e deve estar em formato PNG com
resolução adequada para diferentes densidades de tela (mdpi,
hdpi, xhdpi, xxhdpi, xxxhdpi).
Splash Screen / Tela de Abertura
Descrição
Tela de abertura do aplicativo, exibida enquanto o app carrega. Deve conter o logo da HamburgueriaZ e uma animação ou imagem de fundo atrativa.
Dica Técnica
A Splash Screen pode ser implementada usando um tema
personalizado no styles.xml ou usando uma Activity
dedicada com atraso programado.
Splash Screen
Descrição da Imagem
Splash Screen / Tela de Abertura: Esta imagem mostra a tela inicial do aplicativo HamburgueriaZ, que é exibida enquanto o app carrega seus recursos. A Splash Screen contém o logo da hamburgueria, um fundo temático e uma animação suave que proporciona uma experiência visual agradável ao usuário antes do carregamento completo da aplicação.
Elementos presentes na Splash Screen:
- Logo da HamburgueriaZ com design personalizado
- Fundo com tema de hambúrguer e ingredientes
- Animação de fade-in para transição suave
- Tempo de exibição: 2 segundos
- Cores no padrão do aplicativo (roxo e laranja)
Dica Técnica - Implementação da Splash Screen
Como implementar uma Splash Screen no Android:
-
Método 1 (Tema Personalizado): Crie um tema
no
styles.xmlcomandroid:windowBackgroundapontando para um drawable com a imagem de splash. -
Método 2 (Activity Dedicada): Crie uma
SplashActivityque exibe a imagem por 2 segundos usandoHandlere depois chama aMainActivity. -
Android 12+ (API 31): Use a API oficial
SplashScreencomsplashScreenStyleesetSplashScreenTheme.
// Exemplo de SplashActivity em Java new
Handler().postDelayed(new Runnable() { @Override public void
run() { startActivity(new Intent(SplashActivity.this,
MainActivity.class)); finish(); } }, 2000); // 2 segundos de
splash
Layout Principal do App
Descrição
Tela principal do aplicativo com todos os componentes visuais: logo, campo de nome, checkboxes de adicionais, seletor de quantidade, resumo do pedido, preço total e botão "Fazer Pedido".
Dica Técnica
Utilize ConstraintLayout para posicionar os
elementos de forma flexível. Use EditText para o
nome, CheckBox para os adicionais e
Button para as interações.
Seletor de Quantidade
Descrição
Componente de seleção de quantidade com botões "+" e "-" funcionando. O valor atual deve ser exibido centralizado entre os botões e não pode permitir valores negativos.
Dica Técnica
Use uma variável global int quantidade e dois
Button com OnClickListener. Atualize a
TextView com setText() e bloqueie
valores negativos com condicional
if (quantidade > 1).
Intent de E-mail
Descrição
Print mostrando o aplicativo de e-mail aberto com o assunto e corpo do e-mail preenchidos automaticamente com os dados do pedido (nome do cliente, resumo e valor total).
Dica Técnica
Use Intent.ACTION_SENDTO com
Uri.parse("mailto:"). Adicione extras:
Intent.EXTRA_SUBJECT para o assunto e
Intent.EXTRA_TEXT para o corpo do e-mail.
activity_main.xml
📄 Código 1Descrição
Arquivo XML que define o layout principal da aplicação. Contém todos os componentes visuais: ImageView para logo, EditText para nome, CheckBox para adicionais, LinearLayout para seletor de quantidade, TextView para resumo e preço, e Button para enviar pedido.
Dica Técnica
Utilize ConstraintLayout como raiz para melhor
performance. Use android:id único para cada
componente para facilitar a referência no Java. Aplique o estilo
EstiloTexto nos TextViews.
themes.xml - EstiloTexto
🎨 Código 2Descrição
Arquivo de estilos onde é definido o estilo global "EstiloTexto" que padroniza a aparência dos textos em todo o aplicativo, garantindo consistência visual.
Dica Técnica
O estilo deve conter:
android:layout_width="wrap_content",
android:layout_height="wrap_content",
android:layout_gravity="center_vertical",
android:textAllCaps="true",
android:textSize="15sp",
android:padding="16dp".
MainActivity.java - Declarações
☕ Código 3Descrição
Parte 1 do código Java: declaração das variáveis e vinculação
dos componentes no método onCreate(). Inclui todos
os elementos da interface: EditText, CheckBox, TextView e
Button.
Dica Técnica
Use findViewById para vincular cada componente.
Declare variáveis como
private EditText etNomeCliente;. Configure os
OnClickListener para os botões dentro do onCreate.
MainActivity.java - Lógica de Quantidade
➕ Código 4Descrição
Parte 2 do código: implementação dos botões "+" e "-" com lógica para incrementar e decrementar a quantidade, bloqueando valores negativos.
Dica Técnica
Crie uma variável int quantidade = 1. No click do
botão "+": quantidade++. No botão "-":
if(quantidade > 1) quantidade--. Atualize a
TextView com
tvQuantidade.setText(String.valueOf(quantidade)) e
chame o método de cálculo.
MainActivity.java - Cálculo do Pedido
💰 Código 5Descrição
Parte 3 do código: método calcularPedido() que
processa os adicionais selecionados, calcula o preço total e
atualiza os TextViews de resumo e preço.
Dica Técnica
Preço base: R$20,00. Adicionais: Bacon R$2, Queijo R$2, Onion
Rings R$3. Calcule:
total = (20 + adicionais) * quantidade. Formate o
resumo com os itens selecionados.
MainActivity.java - Intent de E-mail
📧 Código 6Descrição
Parte 4 do código: método enviarPedido() que cria
uma Intent com ação ACTION_SENDTO para abrir o app
de e-mail com assunto e corpo preenchidos.
Dica Técnica
Use
Intent intent = new Intent(Intent.ACTION_SENDTO); e
intent.setData(Uri.parse("mailto:"));. Adicione
EXTRA_SUBJECT com o nome do cliente e
EXTRA_TEXT com o resumo do pedido.
Estrutura do Projeto
📁 Código 7Descrição
Print mostrando a estrutura de arquivos do projeto no Android
Studio, incluindo as pastas java,
res (layout, drawable, values) e o arquivo
AndroidManifest.xml.
Dica Técnica
Organize os arquivos XML em res/layout, imagens em
res/drawable, estilos em
res/values/themes.xml. O código Java fica em
java/com/example/hamburgueriaz/MainActivity.java.
Instruções de Entrega
📦 EntregaO que deve ser entregue
- Arquivo .zip do projeto exportado pelo Android Studio
- Prints de documentação (preenchidos nos espaços acima)
- Esta página completa com todos os prints adicionados
Como exportar o projeto .zip
- Abra o projeto no Android Studio
- Clique em File → Export → Export to Zip File...
- Escolha o local para salvar o arquivo
- Clique em OK para gerar o .zip
Dica Final
Preencha todas as imagens com o caminho correto nos
src="" antes de exportar para PDF. Use
Ctrl + P e selecione "Salvar como PDF".