3. Arquitectura - IgnacioRuiz01/APP_TFG GitHub Wiki
La arquitectura de la aplicación sigue un diseño modular, facilitando el mantenimiento y la escalabilidad. Los componentes principales incluyen la interfaz de usuario, la lógica de negocio y la capa de datos, todos ellos comunicándose a través de interfaces bien definidas.
Componentes Principales
- Interfaz de Usuario (UI): Construida utilizando Android XML layouts para la presentación visual y Activity/Fragment para la lógica de la interfaz.
- Lógica de Negocio: Contiene la lógica principal de la aplicación, gestionada por controladores y servicios que procesan datos y ejecutan reglas de negocio.
- Capa de Datos: Maneja la persistencia y recuperación de datos utilizando SQLite. Incluye las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) y la gestión de conexiones a la base de datos.
Flujo de Datos
- Entrada del Usuario: El usuario interactúa con la interfaz de usuario, que captura eventos como clics y entradas de texto.
- Procesamiento de la Lógica de Negocio: Las entradas del usuario se envían a los controladores, que ejecutan la lógica de negocio correspondiente.
- Acceso a Datos: Los controladores se comunican con la capa de datos para recuperar o almacenar información.
- Actualización de la UI: La información procesada se envía de vuelta a la interfaz de usuario para ser presentada al usuario final.
Integración con la API
La aplicación se integra con una API propia para la gestión de anuncios y usuarios. La comunicación se realiza a través de llamadas HTTP, y los datos se procesan y almacenan en la base de datos local.
Herramientas y Bibliotecas Utilizadas
- Retrofit: Para realizar las llamadas a la API.
- Gson: Para la conversión de JSON a objetos Java.
- Glide: Para cargar y mostrar imágenes de manera eficiente.
- Room: Para la persistencia de datos localmente.