0% encontró este documento útil (0 votos)
139 vistas

Flutter

El documento describe cómo Flutter usa SQLite como base de datos para almacenar datos de usuarios. Explica que SQLite es una biblioteca de código abierto ligera y portátil que se integra en Flutter. Detalla los pasos para configurar un proyecto Flutter para usar SQLite, incluyendo la creación de clases de modelo de datos y una clase de base de datos que contiene métodos CRUD.

Cargado por

Juan Ordoñez
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
139 vistas

Flutter

El documento describe cómo Flutter usa SQLite como base de datos para almacenar datos de usuarios. Explica que SQLite es una biblioteca de código abierto ligera y portátil que se integra en Flutter. Detalla los pasos para configurar un proyecto Flutter para usar SQLite, incluyendo la creación de clases de modelo de datos y una clase de base de datos que contiene métodos CRUD.

Cargado por

Juan Ordoñez
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

1

FLUTTER
RESUMEN
Varios dispositivos móviles son usados en la vida cotidiana de las personas. Para esta diversidad
de equipos, se necesitan conocer sus características, sus dimensiones de pantalla, sus
resoluciones, sus componentes, que capacidad posee y que sistema operativo soporta. Todo lo
anterior genera un considerable problema para aquellos que se dedican a programar estos
dispositivos.
El objetivo de este documento es dar a conocer qué Base de Datos utiliza la aplicación Flutter al
momento de crear apps que se van a ser lanzadas para uso público y se desea guardar los datos
de los usuarios.
2

INTRODUCCIÓN
El presente trabajo sobre Flutter forma parte de los estudios de la materia Programación
en Ambientes Móviles, cuyo enfoque se interesa por reconocer los lenguajes de programación e
interactuar con los entornos de desarrollo aplicados a los dispositivos móviles. A los dispositivos
móviles tienden a asociarlos con los teléfonos inteligentes, pero actualmente existen varios
dispositivos que pertenecen a este grupo. Son cuatro características que permiten identificar un
dispositivo móvil: Facilidad de transportarlo, tamaño reducido, su capacidad de comunicación
inalámbrica y su capacidad para interactuar con las personas.
3

FLUTTER

Imagen 1: Logo de Flutter

Flutter es un framework de código abierto desarrollado por Google para crear aplicaciones
nativas de forma fácil, rápida y sencilla. Su principal ventaja radica en que genera código 100%
nativo para cada plataforma, con lo que el rendimiento y la UX es totalmente idéntico a las
aplicaciones nativas tradicionales. A diferencia de otros frameworks, Flutter permite crear el
código 100 % nativo sin importar si el dispositivo móvil maneja Android o iOS.

Funcionalidades de Flutter
 Calidad nativa: Las aplicaciones nativas se desarrollan específicamente para un sistema
operativo, Flutter utiliza todas las ventajas de las aplicaciones nativas para conseguir
calidad en el resultado final.

 Experiencia de usuario: Flutter incluye Material Design de Google y Cupertino de


Apple, con lo que la experiencia de usuario es óptima y los interfaces de usuario idénticos
a los de las aplicaciones desarrolladas por las propias compañías.

 Tiempo de carga: Una de las principales causas de abandono de una aplicación es el


tiempo que tarda en cargar, con Flutter se experimentan tiempos de carga por debajo de
un segundo en cualquiera de los soportes iOS o Android.

 Desarrollo ágil y rápido: Gracias a la característica hot-reload, se puede programar y ver


los cambios en tiempo real en el dispositivo o en los simuladores.

 Multiplataformas: Se puede utilizar este framework es que da igual el sistema operativo


que utilices, ya que puedes descargarlo para Windows, Mac o Linux desde su enlace
oficial.
4

SQLITE

Imagen 2: Logo de SQLite

Es una biblioteca en lenguaje C que implementa un motor de base de datos SQL pequeño,
rápido, autónomo, de alta confiabilidad y con todas las funciones. SQLite es el motor de base de
datos más utilizado del mundo. SQLite está integrado en todos los teléfonos móviles y en la
mayoría de las computadoras y viene incluido dentro de innumerables otras aplicaciones que la
gente usa todos los días.
El formato de archivo SQLite es estable, multiplataforma compatible con versiones anteriores, y
los desarrolladores se comprometen a mantenerlo así durante al menos hasta el 2050. Los
archivos de base de datos SQLite se utilizan comúnmente como contenedores para transferir
contenido enriquecido entre sistemas y como formato de archivo de datos a largo plazo. Hay más
de 1 billón de bases de datos SQLite en uso activo.
El código fuente de SQLite es de dominio público y todos pueden usarlo para cualquier
propósito.

¿Por qué usar SQLite?


 SQLite no requiere un proceso o sistema de servidor separado para operar (sin servidor).
 SQLite viene con configuración cero, lo que significa que no se necesita configuración ni
administración.
 Una base de datos SQLite completa se almacena en un solo archivo de disco
multiplataforma.
 SQLite es muy pequeño y liviano, menos de 400 KB completamente configurado o
menos de 250 KB con funciones opcionales omitidas.
 SQLite es autónomo, lo que significa que no hay dependencias externas.
 Las transacciones de SQLite son totalmente compatibles con ACID, lo que permite un
acceso seguro desde múltiples procesos o subprocesos.
 SQLite admite la mayoría de las funciones del lenguaje de consulta que se encuentran en
el estándar SQL92 (SQL2).
 SQLite está escrito en ANSI-C y proporciona una API simple y fácil de usar.
5

 SQLite está disponible en UNIX (Linux, Mac OS-X, Android, iOS) y Windows (Win32,
WinCE, WinRT).
6

¿CÓMO USAR FLUTTER CON SQLITE?


Configuración del proyecto
Para usar SQLite dentro de una aplicación Flutter, el primer paso es incluir el sqflite paquete
dentro de pubspec.yaml del proyecto, de la siguiente manera:

Imagen 3: Configuración

Crear un modelo simple


Para almacenar datos, una clase de modelo de datos simple proporcionará los métodos necesarios
para convertir entre un formato de datos compatible con SQLite y un objeto que se puede utilizar
dentro de la aplicación. Primero, una clase abstracta llamada Modelo servirá como clase base
para los modelos de datos. Este archivo está en lib/models/model.dart:
7
8

Imagen 4: Crear Modelo I

La clase Model es muy simple y se crea por conveniencia, para definir propiedades/métodos que
se pueden esperar de los modelos de datos, como los id que se muestran arriba. Esto permite la
creación de uno o más modelos de datos específicos que se ajustarán a este patrón de diseño
básico. Para esta aplicación de ejemplo, se crea una clase de modelo de elemento TODO en
lib/models/todo-item.dart:
9

Imagen 4: Crear Modelo II

La clase TodoItem contiene propiedades para task y complete y tiene un constructor simple para
crear un nuevo elemento TODO. Para convertir entre instancias de objetos TodoItem y Map
utilizados por la base de datos, se han definido los métodos toMap y fromMap. Tenga en cuenta que
id solo se agrega al mapa cuando no lo es null.

Clase de base de datos


En lugar de mezclar la lógica de la base de datos de forma aleatoria en toda la aplicación, los
principales métodos de manejo de la base de datos se colocan en lib/services/db.dart para
mayor comodidad y facilidad de mantenimiento:
10

Imagen 5: Clase BD

Esta clase es abstract porque no está diseñada para ser instanciada y solo se requiere una copia en
la memoria. Internamente, contiene una referencia a la base de datos SQLite en la _db propiedad.
El número de versión de la base de datos se ha codificado de forma rígida, 1 pero en aplicaciones
más complejas, la versión de la base de datos se puede usar para migrar los esquemas de la base
de datos hacia arriba o hacia abajo en la versión para permitir el despliegue de nuevas funciones
sin tener que borrar la base de datos y comenzar desde cero.
Se crea una instancia de la base de datos SQLite dentro del init método, utilizando el example
nombre de la base de datos para este proyecto. Si la example base de datos aún no existe, onCreate
se llama automáticamente. Aquí es donde se colocan las consultas para crear la estructura de la
tabla. En este caso, tenemos una todo_items tabla con una clave principal id junto con campos que
coinciden con las propiedades de la TodoItem clase anterior.
El query método junto con insert, update, y delete están definidos para realizar operaciones CRUD
estándar en la base de datos. Estos proporcionan abstracciones simples y permiten contener la
lógica de la base de datos dentro de esta clase, lo que puede ser extremadamente útil al
refactorizar o realizar otro mantenimiento en la aplicación, en lugar de, por ejemplo, tener que
buscar y reemplazar cadenas en varios archivos o corregir errores extraños que aparecen al hacer
cambios simples.

Archivo de aplicación principal


Por último, pero no menos importante, tenemos la lógica de la aplicación principal y la
experiencia de usuario en lib/main.dart:
11
12
13
14

Imagen 6: Archivo Principal

Este archivo es bastante estándar para cualquier aplicación Flutter y define la apariencia básica
de la aplicación junto con sus interacciones. Durante la inicialización, la línea
WidgetsFlutterBinding.ensureInitialized() asegurará que la aplicación Flutter se inicialice correctamente
al inicializar la base de datos con await DB.init().
Cuando se inicia la aplicación y MyHomePage se procesa el widget, una llamada a refresh() extrae la
lista de tareas de la todo_items tabla y la asigna a una List de TodoItem objetos. Estos se funden
dentro de ListView principal de la aplicación a través del _items descriptor de acceso, que toma la
List de TodoItem los objetos y los formatea como una lista de widgets que contiene el texto del
elemento de tareas y un indicador que muestra si el artículo ha sido completado.
Las tareas se pueden agregar presionando el botón de acción flotante e ingresando un nombre de
tarea. Cuando Save se presiona, el elemento de DB.insert. la lista de tareas pendientes recién creado
se agrega a la base de datos. Al hacer clic en una tarea de la lista, se alternará entre estados
completo / incompleto cambiando el valor complete booleano y almacenando el objeto modificado
en la base de datos con DB.update, y deslizando una tarea. horizontalmente eliminará el elemento
TODO proporcionándolo al DB.delete método. Siempre que se realicen cambios en la lista, una
llamada a refresh() con una subsecuente setState() asegurará que la lista se actualice correctamente.
15

WEBGRAFIA
Sitio web
QUALITY DEVS. Qué es Flutter y por qué utilizarlo en la creación de tus apps.
https://www.qualitydevs.com/2019/07/05/que-es-flutter/, Quality devs.

Sitio web
N.N. ¿Qué es SQLite? https://www.sqlite.org/index.html, SQLite.

Sitio web
N.N. SQLite: descripción general https://www.tutorialspoint.com/sqlite/sqlite_overview.htm,
Tutorialspoint.

Sitio web
Ken Reilly. Cómo usar Flutter con SQLite https://itnext.io/how-to-use-flutter-with-sqlite-
b6c75a5215c4, IT NEXT.

También podría gustarte