Ir al contenido principal

Estructura de un proyecto Android

Ahora que ya sabemos como crear nuestras aplicaciones, lo que sigue explicar  la estructura de un proyecto Android, esto fue algo en lo que también estuve batallando, ¿el porque de tantas carpetas? X_X

Cuando se crea un proyecto automaticamente se nos crean un monton de carpetas, todas ellas necesarias pero desconocidas, esta estructura es similar para cualquier tipo de aplicacion, sin importar el tamaño o complejidad.

















Expliquemos las partes importantes

/src/









Contiene todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, siempre bajo la estructura del paquete java definido.

/gen/

 
Aquí aparecerán archivos que genera Eclipse de forma automática, como por ejemplo el archivo R.java. Estos archivos no deberemos editarlos, ya que será Eclipse el que se encargará de modificarlos automáticamente según otros parámetros del proyecto.


/Android 2.3.3/ y /assets



Android -> Es la librería de desarrollo de Android (SDK). Podemos ir desplegando el árbol para ver los paquetes y clases que incluye el SDK. Cuando añadamos nuevas librerías o paquetes a nuestro proyecto, aparecerán de la misma forma.

assets -> Es un directorio para guardar recursos que utilice tu aplicación. Para acceder a los recursos de este directorio necesitarás usar la clase AssetManager para leer los datos como un stream de bytes, por lo que es preferible utilizar el directorio /res ya que el acceso a los archivos es mucho más sencillo.

/res/ 











Es el directorio principal de recursos (resources). Aquí guardaremos imágenes o archivos multimedia que utilice nuestra aplicación. Los recursos colocados en este directorio son fácilmente accesibles desde la clase R.



/res/drawable-?dpi/












Es el directorio de recursos gráficos o imágenes que utilizará nuestra aplicación. Tiene tres subdirectorios: drawable-hdpi,drawable-ldpi y drawable-mdpi, en el que guardaremos las imágenes dependiendo de la densidad de puntos por pulgada que tenga el dispositivo en el que se ejecute la aplicación. Puedes consultar la sección Supporting Multiple Screens de la guía de desarrollo para Android para comprender mejor cómo programar para distintos tamaños de pantalla.

/res/layout/


En Android debemos separar el código de la aplicación de la interfaz gráfica. En este directorio es donde colocaremos los archivos xml que definen las vistas que utilizará la aplicación. Desde el código de la aplicación le indicaremos el archivo xml que queremos que use en cada momento, de forma que nos facilitará mucho modificar el código sin tener que tocar nada del entorno gráfico, y viceversa.

/res/values/


Al igual que separamos el código de la aplicación de la interfaz gráfica mediante vistas, conviene hacer lo mismo con cadenas de texto, arrays, paleta de colores que usará la interfaz… Este apartado cobra importancia en la localización de nuestra aplicación. Por ejemplo, podremos definir un archivo strings.xml en /res/drawable-es/ y otro en /res/drawable/. El primero se utilizará automáticamente si el usuario tiene configurado el terminal en el idioma español, mientras que en el resto de casos se utilizará el archivo que se encuentra en /res/drawable/.

AndroidManifest.xml
 
 

Es el archivo de configuración de nuestra aplicación. En él definiremos “qué puede hacer nuestra aplicación”, es decir, informaremos al sistema de que nuestra aplicación puede abrir archivos mp3, abrir enlaces http o que es capaz de manejar las llamadas telefónicas que recibamos. En este archivo también indicaremos las actividades o servicios que ejecutará nuestra aplicación y los permisos especiales que necesita utilizar en el caso de que quiera acceder a recursos compartidos del sistema, como el acceso a la lista de contactos, uso del GPS, o la posibilidad de enviar mensajes SMS.





project.properties y proguard.cfg  

Son archivos que genera automáticamente Eclipse y del que no deberemos preocuparnos por ahora.

Comentarios

Publicar un comentario

Entradas populares de este blog

Pequeño Juego con LEDS y Dip Switch

Siguiendo con los mini-proyectos, lo que quería hacer originalmente era un tipo "candado" con push-button y LEDs, el objetivo seria, meter la combinacion de botones correcta y los LEDS encendería por un motivo practico, en forma de serpiente. El objetivo no cambio, pero por falta de "material" lo hice con un dip switch de X entradas(depende de que tan grande quieras la combinación). CONOCIMIENTOS(max. 7 estrellas): Electronica:     ★ ★ Programación: ★ ★ Juego de Combinación + LEDs El programa es un poco mas complicado que el mini-proyecto pasado , pero aun asi es basico. Guardamos las salidas de los LEDs en un arreglo, despues con los valores recibidos y comparados de los dip switch jugamos con los LEDś. Hardware Requerido (1) Arduino Uno (6) LED (8) Resistencias 330 Ω (1) Dip Switch Circuito Usamos las salidas del ARduino 2-7 para los LEDS Usamos la salida A5, A4 para el dip switch Para hacer prender los LEDS tienes que encontrar la ...

Tarea #2 - LAB Visión - Sal y Pimienta - Procesamiento de imagenes - Python

Que tal para esta entrada se nos encargo  modificar  o agregar a nuestro código, una rutina que agregara degradación por adición de ruido(Sal y pimienta) base a dos parámetros: Intensidad = que tanto porcentaje de la imagen se le agregara sal y pimienta Polarización = que tan negros/blancos se pone un pixel seleccionado. y otra rutina que quitara filtrara ese ruido. Antes de comenzar Mi programa se esta empezando a poner " FEO " son demasiados métodos y por cada tarea esta creciendo considerablemente, pese a esto, esta sera la ultima entrada que estaré modificando este código, el las siguientes trabajare por clases.  El los avances de la tarea están en mi  github . Un poco de teoría Les comparto información de relevante que me ayudo a despejar dudas, al final de la entrada en el apartado de REFERENCIAS pondré los links de TODA esta información. El RUIDO en las imágen...

Tarea #5 - Codigo Hamming - Python

Codigo hamming Liga al repo Teoria segun wikipedia Antes de los códigos Hamming se utilizaron ciertos códigos detectores de error, como lo fueron el código linteing, pero ninguno llegó a ser tan eficaz como los de Hamming. A continuación se describen algunos de estos códigos. Paridad   La   paridad   consiste en añadir un bit, denominado   bit de paridad , que indique si el número de los bits de valor 1 en los datos precedentes es par o impar. Si un solo bit cambiara por error en la transmisión, el mensaje cambiará de paridad y el error se puede detectar (nótese que el bit donde se produzca el error puede ser el mismo bit de paridad). La convención más común es que un valor de paridad   1   indica que hay un número impar de unos en los datos, y un valor de paridad de   0   indica que hay un número par de unos en los datos. info. completa y un vídeo que me ayudo mucho para esta tarea: (TIENEN QUE VERLO - OBLIGATORIO) http://www.you...