Aula 04 - Estrutura de um App 🏗️
🧐 O que tem "debaixo do capô"?
Ao abrir um projeto no Android Studio, vemos muitas pastas. Não se desespere! Vamos entender cada uma.
📂 Visão Geral do Projeto
Existem dois modos de visão: Project e Android. Nós usaremos o modo Android (mais organizado).
1. O Manifesto 📜
app/src/main/AndroidManifest.xml
É o contrato do seu app com o sistema operacional.
- Nome e Ícone do App.
- Declaração de todas as Activities.
- Solicitação de Permissões (Câmera, GPS).
2. A Pasta java (ou kotlin) ⌨️
Onde a "mágica" acontece.
- Ficam as classes de lógica.
- Ficam as classes das telas (MainActivity).
- Organizado em pacotes (ex:
com.meuapp.telas).
3. A Pasta res (Resources) 🎨
Tudo o que o usuário vê ou ouve, mas que não é lógica.
- drawable: Imagens e ícones.
- layout: A interface visual (XML).
- mipmap: Ícones que aparecem no menu do celular.
- values: Strings, Cores e Temas.
🎨 Por que centralizar os values?
Evite escrever texto direto no código!
Facilita a tradução para outros idiomas (Internacionalização). 🌍
4. Gradle: O Gerente de Fábrica ⚙️
Não é código do seu app, é a configuração da "fábrica" que constrói ele.
build.gradle (Project): Configurações globais.build.gradle (Module): Configurações específicas do App.
📦 O que tem no Gradle?
- versionCode: Número interno (1, 2, 3...).
- versionName: Nome para o usuário (1.0.1...).
- Dependencies: Bibliotecas externas (Retrofit, Room).
🏗️ O Ciclo de Build
graph LR
A[Código Kotlin/Java] --> B[Compilador]
E[Recursos XML/Img] --> B
B --> C[Arquivo DEX]
C --> D[APK / AAB]
🆚 Estrutura: Android vs iOS
| Android | iOS | Papel |
|---|---|---|
AndroidManifest |
Info.plist |
Metadados |
res/layout |
Storyboard/XIB |
UI Visual |
gradle |
CocoaPods/SwiftPM |
Dependências |
res/values |
Localizable.strings |
Textos |
🔌 ViewBinding: O Link Seguro
Antigamente usava-se o findViewById (lento e perigoso).
Hoje usamos o ViewBinding.
Garante que você não tente acessar um ID que não existe na tela! 🛡️
🛠️ Prática: Explorando o Studio
- Abra o arquivo
Activity_main.xml. - Veja as abas Code, Split e Design.
- Mantenha no Split para aprender rápido!
⚠️ Cuidado com a pasta build
Ela é gerada automaticamente.
Nunca altere nada dentro dela manualmente. Se der erro, use o comando:
Build -> Clean Project.
🧩 Resumo
- Manifesto: Declarativo e essencial.
- Res: Visual e Multimídia.
- Gradle: Configuração e Bibliotecas.
- Java/Kotlin: Comportamento.
🚀 Desafio da Aula
- Adicione uma nova cor em
colors.xml. - Crie uma nova String em
strings.xml. - Use essa cor e essa string em um componente na tela inicial.
🏁 Conclusão
Entender a estrutura é o primeiro passo para não se perder em projetos grandes.