3. Arquitectura - dblancou/AppLetterboxdProyectoFinalAndroid 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 MySQL. 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 la API Letterboxd para obtener información actualizada sobre las películas. 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.