Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto
Instruções Gerais:
- Resolva as atividades em ordem progressiva de maturidade.
- Cada nível adiciona requisitos técnicos, tratamento de erros e casos de borda reais.
- Consulte o gabarito comentado ao final de cada questão para autoavaliação.
🎯 Nível 1: Fundamentos
Problema 1.1 — Configuração de Build Gradle KTS com Plugins do Compose
Contexto: Configuração de Build Gradle KTS com Plugins do Compose no contexto de Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto.
Requisitos de Execução:
- Configurar arquivo
build.gradle.ktsdo módulo app habilitando Compose compiler e dependências essenciais.
Resultado Esperado
Gradle KTS sincronizado e configurado para compilação Compose.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_1_1_SeuNome - Envie na tarefa:
Atividade Cap 1 - Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto
🔑 Gabarito de Código & Solução Comentada
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}
android {
namespace = "com.empresa.mobile"
compileSdk = 35
defaultConfig {
applicationId = "com.empresa.mobile"
minSdk = 26
targetSdk = 35
versionCode = 1
versionName = "1.0.0"
}
buildFeatures {
compose = true
}
}
🔍 Nível 2: Prática
Problema 1.2 — Entry Point MainActivity com ComponentActivity e setContent
Contexto: Entry Point MainActivity com ComponentActivity e setContent no contexto de Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto.
Requisitos de Execução:
- Estruturar
MainActivity.ktestendendoComponentActivitye inicializando a árvore Compose.
Resultado Esperado
Activity Android inicializada com surface theme.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_1_2_SeuNome - Envie na tarefa:
Atividade Cap 1 - Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto
🔑 Gabarito de Código & Solução Comentada
package com.empresa.mobile
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
Surface {
Text(text = "Portal Mobile Android Inicializado com Sucesso")
}
}
}
}
}
⚡ Nível 3: Integração
Problema 1.3 — Version Catalog (libs.versions.toml) para Gestão Centralizada de Dependências
Contexto: Version Catalog (libs.versions.toml) para Gestão Centralizada de Dependências no contexto de Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto.
Requisitos de Execução:
- Declarar dependências do Compose BOM, Core KTX e Material3 no
libs.versions.toml.
Resultado Esperado
Catálogo de versões centralizado e tipado para o Gradle.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_1_3_SeuNome - Envie na tarefa:
Atividade Cap 1 - Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto
🔑 Gabarito de Código & Solução Comentada
[versions]
agp = "8.7.2"
kotlin = "2.0.21"
composeBom = "2024.10.01"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version = "1.15.0" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
🏆 Nível 4: Desafio Corporativo
Problema 1.4 — Automação de Build Multi-Flavor (dev, staging, prod) no Gradle KTS
Contexto: Automação de Build Multi-Flavor (dev, staging, prod) no Gradle KTS no contexto de Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto.
Requisitos de Execução:
- Configurar Product Flavors com chaves de API e application IDs distintos.
Resultado Esperado
Flavors de compilação configurados para CI/CD corporativo.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_1_4_SeuNome - Envie na tarefa:
Atividade Cap 1 - Ecossistema Android, Kotlin 2.0, Gradle KTS e Estrutura de Projeto
🔑 Gabarito de Código & Solução Comentada
android {
flavorDimensions += "ambiente"
productFlavors {
create("dev") {
dimension = "ambiente"
applicationIdSuffix = ".dev"
buildConfigField("String", "API_BASE_URL", "\"https://dev.api.empresa.com\"")
}
create("prod") {
dimension = "ambiente"
buildConfigField("String", "API_BASE_URL", "\"https://api.empresa.com\"")
}
}
}
| ⬅️ Voltar ao Índice de Exercícios | 📚 Sumário de Tópicos |