Este tutorial detalla la estructura de directorios, archivos de inicio y configuraciones clave del proyecto CleanExpert.
1. Estructura de Directorios y Descripción
La organización del proyecto CleanExpert es la siguiente:
CleanExpert/
├── app/
├── docs/
├── gradle/wrapper/
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
Descripción de Directorios:
- app/: Alberga el código fuente principal de la aplicación y sus recursos.
- docs/: Contiene la documentación del proyecto.
- gradle/wrapper/: Incluye archivos del Gradle Wrapper, asegurando el uso de una versión específica de Gradle.
- .gitignore: Define los archivos y directorios que Git debe ignorar.
- LICENSE: Especifica la licencia bajo la cual se distribuye el proyecto.
- README.md: Proporciona una descripción general y guías de uso del proyecto.
- build.gradle: Es el script principal para la construcción del proyecto.
- gradle.properties: Contiene propiedades de configuración para el sistema de construcción Gradle.
- gradlew: Script de shell para el Gradle Wrapper en sistemas Unix/Linux.
- gradlew.bat: Script por lotes para el Gradle Wrapper en Windows.
- settings.gradle: Configura los módulos del proyecto y los repositorios.
2. Archivo de Inicio de la Aplicación
El punto de entrada de la aplicación CleanExpert se encuentra típicamente dentro del directorio app/. Por ejemplo, un archivo común podría ser app/src/main/java/com/example/cleanexpert/MainActivity.java.
Descripción del Archivo de Inicio:
- MainActivity.java: Sirve como la acitvidad principal de la aplicación Android, siendo la primera interfaz que se carga al iniciar. Es responsable de inicializar la UI y gestionar las interacciones del usuario.
3. Archivos de Configuración Clave
Los siguientes archivos son fundamentales para la configuración y construcción del proyecto CleanExpert:
build.gradle
Este archivo define la configuración de construcción, incluyendo dependencias, plugins y tareas personalizadas.
// Ejemplo de build.gradle
plugins {
id 'com.android.application'
// Otros plugins pueden ser añadidos aquí
}
android {
compileSdk 33 // Versión de SDK de compilación
defaultConfig {
applicationId "com.example.cleanexpert"
minSdk 21 // SDK mínimo requerido
targetSdk 33 // SDK objetivo de compilación
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true // Habilita la ofuscación de código
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
// Configuraciones adicionales como viewBinding, etc.
// viewBinding {
// enabled = true
// }
}
dependencies {
// Dependencias estándar de AndroidX
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.10.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Ejemplo de dependencia de prueba
// testImplementation 'junit:junit:4.13.2'
// androidTestImplementation 'androidx.test.ext:junit:1.1.5'
// androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
gradle.properties
Este archivo contiene propiedades globales para el sistema de construcción Gradle, como la configuración de memoria para la JVM.
# Ejemplo de gradle.properties
org.gradle.jvmargs=-Xmx4096m -Dorg.gradle.daemon=true -Dfile.encoding=UTF-8
android.useAndroidX=true
android.enableJetifier=true
# Otras propiedades de configuración pueden ir aquí
# org.gradle.parallel=true
settings.gradle
Define qué módulos se incluyen en el proyecto y dónde encontrarlos.
// Ejemplo de settings.gradle
rootProject.name = "CleanExpert"
include ':app' // Incluye el módulo de la aplicación
// Si hubiera otros módulos, se incluirían aquí:
// include ':feature_login', ':core_data'
Estas configuraciones permiten gestionar la compilación, dependencias y estructura general del proyecto CleanExpert.