Capitulo 6 del Módulo 2 Primera App

➜ 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

  1. Mantén un nombre claro para tus recursos: Usa nombres descriptivos para archivos de diseño, imágenes y cadenas de texto.
  2. Modulariza tu código: Si tu aplicación crece, considera dividirla en módulos para mejorar la organización y el rendimiento.
  3. Usa comentarios en tu código: Explica el propósito de clases, métodos y bloques de código complejos.
  4. Sigue las mejores prácticas de diseño: Usa Material Design para crear interfaces modernas y consistentes.

2548 visitas

Capítulo 7 – Estructura de un Proyecto II »


{ Curso Android desde Cero }


Compartir link con tus amigos

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

¡Qué aprenderás?

tooltip bs-tooltip-top bs-tooltip-end bs-tooltip-bottom bs-tooltip-start show fade tooltip-inner

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú