Estructura de un proyecto Android explicada paso a paso

En este artículo, explicaré los distintos componentes que formar parte de una aplicación.


Actividad (También conocida como Activity)

En Android, se le conoce como una ventana que contiene la interfaz de usuario (o pantalla) para su aplicación y los usuarios interactúan directamente con las actividades de las aplicaciones. Es decir, es el componente más habitual de las aplicaciones para Android. La mayoría de las aplicaciones permiten la ejecución de varias acciones a través de la existencia de una o más pantallas.

Por ejemplo, recordando a WhatsApp se muestra el listado de los contactos con los cuales conversaste siendo la primera actividad, una de las características en esta actividad es poder hacer clic en la conversación y enviarte al historial de la conversación que sería la segunda actividad, o tal deseas realizar una fotografía este sería la tercera actividad. Sin embargo en la primera actividad tenemos 3 pestañas, esto debido a que utiliza otro componente llamado Fragment, el cual también estaremos aprendiendo sus características en este post.

Una actividad tiene un ciclo de vida, considerada ciclo de vida de una aplicación.


Intents

Son mensajes que provocan notificaciones y cambios de estados que al ser recibidos por actividades o servicios pueden levantar procesos. De esta forma, se unen componentes dentro de una misma aplicación o de diferentes aplicaciones.

   
	/*
      Author: Ing. Dick Díaz Delgado
   */

   //Creamos un Intent
   Intent intent = new Intent();
   //Llamamos a formulario o actividad : Detalle
   startActivity(intent);


Vistas (Views)

Son los componentes de la interfaz de usuario. Se trata de diferentes vistas que pueden agruparse a través de grupos, logrando una jerarquía. Esto se logra a través de la disposición de los componentes por medio de un archivo XML.


Servicios (Services)

Son componentes que se ejecutan operaciones en segundo plano (Background), y no tienen una interfaz de usuario. Un ejemplo clásico al escuchar música hay un servicio encargado de la reproducción que se ejecuta de fondo un ejemplo muy común, es un antivirus que esta funcionando de fondo.


Proveedor de Contenido (Content Providers)

Permite la abstracción para el almacenamiento y obtención de datos permanentes de aplicaciones diferentes. El sistema incluye algunos proveedores de contenidos útiles (audio, video, etc.)


Receptores de Difusión (Broadcast Receivers)

Son componentes que responden a avisos y a anuncios de difusión (broadcast). Estos avisos provienen del sistema (batería baja, una llamada entrante, etc.) y de aplicaciones (pasando avisos de una aplicación a otra). Aunque no muestra una interfaz de usuario; algunas veces, utiliza barras de progreso para mostrar avances. Estos se activan a través de mensajes asíncronos llamados "intents".


Fragmentos

Los fragmentos permiten que una aplicación se divida en subcomponentes para poder manejarlos de manera individual y combinarlos de distintas formas como si fuesen paneles. Es decir, en un dispositivo de pantalla pequeña (como un teléfono inteligente), una actividad típicamente llena toda una pantalla., mostrando los diversos puntos de vista que componen la interfaz de usuario de una aplicación. 

La actividad es esencialmente un contenedor. Sin embargo, cuando una actividad se muestra en un dispositivo de pantalla grande, como en una Tablet, la pantalla se vuelve mucho más grande y todos los elementos en una actividad deben estar dispuestos a hacer un uso completo de la pantalla más grande lo que resulta en cambios complejos a la jerarquía de visualización.

Un mejor enforque sería contar con miniactividades donde cada una de ellas cuente con su propio conjunto de puntos de vista.


Espero este contenido haya sido de gran ayuda para los fundamentos de aplicaciones móviles, ahora que sabes como está compuesta la estructura de una aplicación te resultará más sencillo poder diseñarla de acuerdo a tu conveniencia.


Dick Díaz Delgado

Ingeniero de Sistemas con experiencia en robótica sostenible, integrando impresión 3D e Internet de las Cosas (IoT) para desarrollar soluciones innovadoras. Me especializo en la aplicación de tecnologías emergentes dentro del ecosistema Fab Lab, promoviendo la fabricación digital como una herramienta clave para la educación, la industria y el desarrollo sostenible. Además de mi trabajo en tecnología, he incursionado en la escritura de libros y artículos científicos, con el objetivo de aportar conocimiento en áreas como la robótica, la inteligencia artificial y la fabricación digital. Actualmente, estoy desarrollando una aplicación de IA para el laboratorio de entomología de la UNSM, enfocada en mejorar la enseñanza y la investigación en este campo. Me apasiona la innovación y busco constantemente formas de integrar la tecnología para generar impacto. Mi enfoque está en el desarrollo de soluciones tecnológicas sostenibles, contribuyendo al crecimiento de la comunidad Fab Lab y a la evolución de proyectos con un propósito social y educativo.

Publicar un comentario

Artículo Anterior Artículo Siguiente