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

  1. Entrada del Usuario: El usuario interactúa con la interfaz de usuario, que captura eventos como clics y entradas de texto.
  2. 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.
  3. Acceso a Datos: Los controladores se comunican con la capa de datos para recuperar o almacenar información.
  4. 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.