HamburgueriaZ: Documentação Completa

App Android desenvolvido em Java | Interface Personalizada | Intent de E-mail

Ver Prints do Projeto
Java Android Studio Intent ACTION_SENDTO Themes.xml

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
1 / 16

Checklist de Requisitos

✅ Obrigatório

Configuraçã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
2 / 16

Í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.

Ícone do App na Área de Trabalho

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).

3 / 16

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.

Splash Screen

Dica Técnica

A Splash Screen pode ser implementada usando um tema personalizado no styles.xml ou usando uma Activity dedicada com atraso programado.

4 / 16

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)
Splash Screen - Tela de Abertura do App HamburgueriaZ

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.xml com android:windowBackground apontando para um drawable com a imagem de splash.
  • Método 2 (Activity Dedicada): Crie uma SplashActivity que exibe a imagem por 2 segundos usando Handler e depois chama a MainActivity.
  • Android 12+ (API 31): Use a API oficial SplashScreen com splashScreenStyle e setSplashScreenTheme.

// 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

7 / 16

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".

Layout Principal

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.

5 / 16

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.

Seletor de Quantidade

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).

6 / 16

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).

Intent de E-mail

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.

8 / 16

activity_main.xml

📄 Código 1

Descriçã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.

activity_main.xml

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.

9 / 16

themes.xml - EstiloTexto

🎨 Código 2

Descriçã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.

themes.xml

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".

10 / 16

MainActivity.java - Declarações

☕ Código 3

Descriçã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.

MainActivity Declarações

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.

11 / 16

MainActivity.java - Lógica de Quantidade

➕ Código 4

Descrição

Parte 2 do código: implementação dos botões "+" e "-" com lógica para incrementar e decrementar a quantidade, bloqueando valores negativos.

Lógica Quantidade

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.

12 / 16

MainActivity.java - Cálculo do Pedido

💰 Código 5

Descriçã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.

Cálculo Pedido

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.

13 / 16

MainActivity.java - Intent de E-mail

📧 Código 6

Descriçã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.

Intent E-mail

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.

14 / 16

Estrutura do Projeto

📁 Código 7

Descriçã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.

Estrutura do Projeto

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.

15 / 16

Instruções de Entrega

📦 Entrega

O 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

  1. Abra o projeto no Android Studio
  2. Clique em File → Export → Export to Zip File...
  3. Escolha o local para salvar o arquivo
  4. 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".

16 / 16