1. Estructura del directorio res
El directorio res/ se divide en subdirectorios según el tipo de recurso:
| Directorio | Propósito |
|---|---|
drawable | Imágenes generales (fondos, ilustraciones, etc.) |
Prefijo mipmap | Iconos de la aplicación (Launcher Icon) |
values | Cadenas de texto, estilos, colores, etc. |
layout | Archivos de diseño (layout) |
2. ¿Por qué hay tantas carpetas mipmap y drawable?
Para adaptarse a diferentes densidades de pantalla, Android proporciona múltiples directorios:
drawable-hdpi → Alta densidad
drawable-xhdpi → Extra alta densidad
drawable-xxhdpi → Súper alta densidad
drawable-xxxhdpi → Densidad máxima
Lo mismo ocurre con mipmap, que incluye mipmap-hdpi, mipmap-xhdpi, mipmap-xxhdpi, etc.
Cómo funciona: Al desarrollar, se preparan versiones de la misma imagen en distintas resoluciones y se colocan en las carpetas correspondientes. En tiempo de ejecución, el sistema selecciona y carga automáticamente el conjunto de recursos que mejor se adapte a la densidad de pantalla del dispositivo.
3. Formas de referenciar recursos
3.1 Recursos de cadena (strings)
Se definen en res/values/strings.xml:
<resources>
<string name="app_name">My Application</string>
</resources>Lenguaje del código: HTML, XML (xml)
La forma de referenciarlos depende del contexto:
| Contexto | Formato de referencia | Ejemplo |
|---|---|---|
| En archivos XML | @string/app_name | android:text="@string/app_name" |
| En código Java | R.string.app_name | getString(R.string.app_name) |
3.2 Referencia de imágenes e iconos
Nota: ¡No se puede usar sintaxis Java como R.mipmap.xxx directamente en XML!
| Tipo de recurso | En XML | En código Java |
|---|---|---|
| Icono (mipmap) | @mipmap/ic_launcher | R.mipmap.ic_launcher |
| Imagen (drawable) | @drawable/bg_image | R.drawable.bg_image |
| Diseño (layout) | — | R.layout.activity_main |
| Cadena de texto | @string/app_name | R.string.app_name |
Ejemplo comparativo:

<!-- En XML: usar prefijo @ -->
android:icon="@mipmap/school"Lenguaje del código: HTML, XML (xml)
// En Java: usar prefijo R.
setContentView(R.layout.activity_main);Lenguaje del código: JavaScript (javascript)
4. Referencias de recursos en AndroidManifest.xml
Abra AndroidManifest.xml. Dentro de la etiqueta application, ya se utilizan varias referencias a recursos:
<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/AppTheme">Lenguaje del código: HTML, XML (xml)
| Atributo | Recurso referenciado | Función |
|---|---|---|
android:icon | @mipmap/ic_launcher | Icono de la aplicación |
android:label | @string/app_name | Nombre de la aplicación |
android:roundIcon | @mipmap/ic_launcher_round | Icono redondo |
android:theme | @style/AppTheme | Tema de la aplicación |
5. Ejercicio práctico: Cambiar el nombre y el icono de la aplicación
Paso 1: Cambiar el nombre de la aplicación
Abra res/values/strings.xml:
<resources>
<string name="app_name">FoxDevelop</string>
</resources>Lenguaje del código: HTML, XML (xml)
Tras guardar, el nombre de la aplicación en el escritorio cambiará a «FoxDevelop».
Paso 2: Preparar el archivo de icono
- Descargue un icono en formato PNG

- Reglas para el nombre de archivo: No use guiones
-; solo se permiten guiones bajos_, letras minúsculas o números- ✅
school_bell.png - ❌
school-bell.png
- ✅


Paso 3: Colocar en el directorio correspondiente
Copie el archivo de icono en res/mipmap-xxhdpi/ (o en la carpeta mipmap que corresponda a su resolución objetivo).
Paso 4: Modificar AndroidManifest.xml
<application
android:icon="@mipmap/school_bell"
android:roundIcon="@mipmap/school_bell"
... >Lenguaje del código: HTML, XML (xml)
Paso 5: Ejecutar nuevamente
Haga clic en el botón ▶ Run para desplegar en el emulador. Verá:
- El nombre de la aplicación en el escritorio cambia a «FoxDevelop»
- El icono de la aplicación se convierte en el archivo
school_bell.pngque configuró

6. Resumen
| Punto clave | Descripción |
|---|---|
| Regla de referencia | XML usa @tipo/nombre, Java usa R.tipo.nombre |
| Adaptación multi-resolución | Coloque imágenes según resolución en carpetas distintas; el sistema elige automáticamente |
| Cambiar nombre de app | Modifique app_name en res/values/strings.xml |
| Cambiar icono | Reemplace el PNG en la carpeta mipmap y modifique android:icon en AndroidManifest.xml |
| Convención de nombres | Solo minúsculas, números y guiones bajos; no use guiones |
En una frase: XML usa
@, Java usaR.; los iconos van en mipmap, las imágenes en drawable, las cadenas en values.
Archivos de recursos res y cómo cambiar el nombre y el icono de la aplicación