Héctor Álvarez

Taller tecnologías móviles

Listas y Assets

Esquema de la clase

  • Introducción
  • ListViews
  • ListTiles
  • FutureBuilders
  • Assets

Introducción

La arquitectura (Clean Architecture) nos da una base.

Repositorios de datos, actualmente manejamos mockups. Veremos cómo utilizar datos locales en assets.

En esta clase nos enfocaremos en Widgets para listar elementos.

Utilizaremos la plantilla ya creada y continuaremos desde ahí.

ListView

El Widget ListView es el widget de desplazamiento más utilizado, con el cual podremos tener una gran cantidad de elementos incluso si superan el límite de tamaño de nuestra pantalla (verticalmente).

ListView

ListView

Nueva pantalla para listas

Para esta clase crearemos una nueva pantalla, desde la cual vamos a obtener datos desde un archivo JSON local en assets, para ello necesitamos crear archivos en domains, data y app.

domains: entidades, repositorios y casos de uso.

data: repositorios locales y mocks.

app: una nueva pantalla llamada heroes.

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Nueva pantalla para listas

Future Builder

El Widget FutureBuilder se construye a si mismo desde un futuro, obteniendo capturas del futuro.

Muy utilizado cuando se trabaja con datos futuros directamente desde nuestra pantalla sin usar async en la vista.

Con Clean Architecture no es tan necesario utilizarlo ya que el controlador y presenter manejan los futuros.

Future Builder

Future Builder

Future Builder

Assets

Para continuar, crearemos un recurso en nuestro directorio local.

Es necesario crear una carpeta de assets en la cual guardaremos todos los archivos que nuestra aplicación pueda utilizar.

En el archivo pubspec.yaml debemos agregar las rutas a los recursos agregados.

Para utilizar estos recursos crearemos un repositorio local

Assets

Agregaremos este archivo .json en la siguiente ruta assets/json/heroes.json.

Assets

Assets

Assets

Modificamos el repositorio desde la vista y el controlador de la pantalla Héroes

Assets

Modificamos el repositorio desde la vista y el controlador de la pantalla Héroes