➜ Estructura de un proyecto
Estructura de un Proyecto en Android: Guía Completa | Descubre cómo está organizada la estructura de un proyecto en Android. Aprende sobre las carpetas, archivos y recursos clave para desarrollar apps.
¿Por qué es importante entender la estructura de un proyecto en Android?
Antes de sumergirnos en los detalles, es fundamental comprender que la estructura de un proyecto en Android está diseñada para organizar de manera clara y eficiente todos los componentes necesarios para desarrollar una aplicación. Esto incluye archivos de código, recursos gráficos, configuraciones y más. Entender esta estructura te permitirá navegar fácilmente por tu proyecto, colaborar con otros desarrolladores y mantener un flujo de trabajo ordenado.
En esta lección, exploraremos las principales carpetas y archivos que componen un proyecto en Android Studio, explicando su propósito y cómo interactúan entre sí.
Estructura básica de un proyecto en Android
Cuando creas un nuevo proyecto en Android Studio, se genera automáticamente una estructura predeterminada. A continuación, desglosamos cada componente:
1. Carpeta app
La carpeta app
es el corazón del proyecto y contiene todo lo relacionado con la aplicación. Dentro de esta carpeta, encontrarás varias subcarpetas y archivos clave:
a) src
(Source Code)
Esta carpeta almacena todo el código fuente de la aplicación. Se divide en tres subdirectorios principales:
-
main
: Contiene el código principal de la aplicación.java
: Aquí se encuentran los archivos.java
o.kt
(Kotlin) que contienen la lógica de la aplicación. Cada archivo representa una clase o actividad.res
: Almacena todos los recursos de la aplicación, como diseños, imágenes, cadenas de texto y más.layout
: Archivos XML que definen la interfaz de usuario (UI) de las actividades y fragmentos.drawable
: Imágenes, iconos y otros elementos gráficos.values
: Archivos XML con valores globales, como cadenas (strings.xml
), colores (colors.xml
) y estilos (styles.xml
).mipmap
: Iconos de la aplicación en diferentes densidades (hdpi, xhdpi, etc.).
AndroidManifest.xml
: Este archivo es crucial porque define la configuración global de la aplicación, como las actividades, permisos y servicios.
-
test
: Contiene pruebas unitarias que se ejecutan en la máquina local. -
androidTest
: Contiene pruebas instrumentadas que se ejecutan en un dispositivo o emulador.
2. Archivo build.gradle
El archivo build.gradle
es esencial para configurar y personalizar la compilación de la aplicación. Existen dos niveles de este archivo:
- Nivel de proyecto: Define configuraciones generales para todo el proyecto.
- Nivel de módulo (
app/build.gradle
): Configura aspectos específicos del módulo de la aplicación, como dependencias, versión del SDK y plugins.
Ejemplo de un archivo build.gradle
a nivel de módulo:
gradle
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 33
defaultConfig {
applicationId "com.ejemplo.miapp"
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
}
3. Carpeta gradle
Esta carpeta contiene scripts y configuraciones relacionadas con Gradle, el sistema de construcción utilizado por Android Studio. No es necesario modificarla directamente en la mayoría de los casos.
4. Archivo settings.gradle
Este archivo define qué módulos están incluidos en el proyecto. Por ejemplo:
gradle
include ':app'
5. Carpeta res
en detalle
Como mencionamos anteriormente, la carpeta res
es donde se almacenan todos los recursos de la aplicación. Veamos algunos ejemplos prácticos:
-
layout/activity_main.xml
: Define la interfaz de usuario de la actividad principal.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="¡Hola, mundo!" /> </LinearLayout>
-
values/strings.xml
: Almacena cadenas de texto reutilizables.xml
<resources> <string name="app_name">Mi Aplicación</string> <string name="welcome_message">Bienvenido a Android</string> </resources>
-
drawable/ic_launcher.png
: Icono de la aplicación en diferentes resoluciones.
6. Archivo AndroidManifest.xml
Este archivo es crucial porque describe la estructura y configuración de la aplicación. Aquí se declaran las actividades, servicios, permisos y otros componentes.
Ejemplo básico:
xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ejemplo.miapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Consejos para organizar mejor tu proyecto
- Mantén un nombre claro para tus recursos: Usa nombres descriptivos para archivos de diseño, imágenes y cadenas de texto.
- Modulariza tu código: Si tu aplicación crece, considera dividirla en módulos para mejorar la organización y el rendimiento.
- Usa comentarios en tu código: Explica el propósito de clases, métodos y bloques de código complejos.
- Sigue las mejores prácticas de diseño: Usa Material Design para crear interfaces modernas y consistentes.
2549 visitas
Capítulo 7 – Estructura de un Proyecto II »
Descarga el código del proyecto
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar