Transcripciones
1. introducción del curso: Nuevamente, muchas
opciones de base de datos en foto, pero no es necesario que
siempre queramos almacenar usuarios. Piensan que el servidor.
Habrá escenarios en los que queremos almacenar
los datos localmente dispositivo del usuario
AT
para que sea forma
más rápida y conveniente de
recuperar esa información. Una vez dicho ejemplo será la preferencia del
usuario por el modo
oscuro o leitmotif, muchas bases de datos aflame. Pero entre ellos, yo era VIH. Hv es una base de datos
de llave-valor liviana que admite escritorio móvil
y plataforma web. Podemos guardar datos de tipos
primitivos como cadenas, booleanos, hasta objetos
personalizados complejos. En este curso, cubriremos todo lo necesario para
empezar con el VIH. Entenderemos conceptos como cómo realizar operaciones
crud, qué tipo adoptantes. Y finalmente construir una aplicación
básica de tareas pendientes para que podamos ejecutar prácticamente lo que
aprendimos hasta ahora. No desperdiciemos más
tiempo y rodando ahora, espero verte en las canchas.
2. Video 1 Comienza con Hive: Hola. En este módulo, estaremos hablando de algo en ti que se llama VIH. Por lo que el VIH es una base de datos NoSQL rápida y
ligera para la aplicación de Florida y papá. El VIH es realmente útil si necesitas una base de datos directa clave-valor sin numerosas relaciones y verdaderamente simple de utilizar. Necesita un offline, el Ws, lo
que significa que almacena datos en el dispositivo del usuario en lugar de plata como Firebase. Entonces cuando necesitamos acceder a algunos datos dentro de Firebase, entonces obviamente necesitamos conexión a internet. Pero el VIH se almacena en el dispositivo del usuario. Eso significa que puede acceder a ella cuando quieras, donde quieras. No donde sea porque tenía que acceder a ella sólo en su dispositivo. Entonces eso es un inconveniente porque si el usuario inicia sesión con cuenta wikis en otro dispositivo, así los datos no serían sincrónicos. Por lo que obviamente el VIH es uso para sus propios fines y lo entenderás paso a paso. Ahora, surge la pregunta es ¿por qué base de datos VIH? Lo primero es que es la base de datos más eficiente en términos de velocidad y rendimiento en comparación con el bandera SQL y la preferencia compartida, también
son bases de datos fuera de línea. Por lo que cuando se compara con aquellos con él es más rápido. El segundo beneficio es que proporciona una forma directa de realizar las operaciones básicas de crud. Para que no tengas que aprender muchas cosas que la sintaxis son muy simples. Y el tercero es, ya que no hay dependencias nativas en tus datos. Por lo que se puede utilizar fácilmente para móviles, computadoras de escritorio y navegadores. Tan alto es soportado por todas las demás plataformas también. Ya basta, supongo que para el Curie, deberíamos sumergirnos directamente en probar esta tecnología por nuestra cuenta. Para eso, Vamos a crear un nuevo proyecto de aleteo. Acude al directorio, entonces, saca su línea de comando y solo crea inundación. Crear base de datos. Está bien. Ahora se puede ver que se ha creado el proyecto. Sacar Código VS y anexar proyecto aquí. Simplemente anexar carpeta, colmena, base de datos, así. Suma. Antes de enviarlo en modo debug, me gustaría agregar esas dependencias que son requeridas. Por lo que el ir a un navegador Chrome. Y aquí en el pub punto sordo primer tipo. Entonces aquí, necesitas solo copiar las dependencias. Ahora vamos a ir a Archivo y pegado. Segundo es más halagador del VIH. Por lo que se requiere implementar la base de datos en Florida. Y antes de entonces también puedes ir a consultar la documentación del VIH si quieres. Ver aquí, aquí se menciona el agua que las dependencias son o, cómo se hace. El mismo. Te explicaré todo de una manera más sencilla. Y esa tercera dependencia no es más que proveedor. Después ve a instalarlo. Está bien. Ahora que se están instalando tres dependencias. Ubuntu Main.Jack. Asegúrate de tener tu emulador en ejecución y simplemente haz clic en Iniciar depuración. Definitivamente tomará unos minutos dependiendo de su sistema. Como siempre. Me gustaría explicarles por qué utilizamos este proveedor de piezas. Por lo que proveedor de piezas se utiliza para conseguir que las aplicaciones a la ubicación para almacenar datos. Es decir, como ya mencioné, que esos datos se almacenarán en el dispositivo del usuario. Por lo que almacenaremos esos datos en esa misma ubicación. Nuestra aplicación de proyecto de base de datos Hive, es
decir, esta aplicación Android en aplicación iOS se instalará. Entonces sólo recuerda eso. Ahora. Ahora bien, si
quieres, puedes revisar todas las dependencias. Read Me sección y saber más sobre por qué estamos usando el VIH. Simplemente esperaré unos segundos más para que nuestro proyecto esté en marcha. Hasta entonces. También te daría un ejemplo de vector v usaría datos de
la colmena con supongamos en configuraciones como el modo oscuro papá, si has usado alguna puerta de activación es algo llamado modo oscuro o modo nocturno. Por lo que la preferencia de dosis hizo son esas preferencias de usuario. Podemos guardarlo en digamos, usuarios propio dispositivo. decir, si es el modo oscuro es verdadero o falso, ¿también cuál es el ID de usuario del usuario? Simplemente podemos hacerlo en la base de datos de Hive para que se pueda utilizar fácilmente. Numerosos ejemplos. Pero supongo que cada vez más entenderás cuando creemos proyectos. En este momento nuestro enfoque es solo asegurarnos de que entendemos adecuadamente los conceptos básicos. Como de costumbre. Se está tomando un poco más de tiempo. No lo hizo entonces me gustaría mostrarles el siguiente paso de nuestra implementación. El siguiente paso es inicializar. Entonces aquí, simplemente puedes tener que inicializar la ocultación. En el apartado. Es decir, antes de que se esté ejecutando nuestra aplicación. Tenemos que asegurarnos de que se esté inicializando nuestro código de VIH. ¿ De acuerdo? Se puede ver que nuestra aplicación está a punto de, a
punto de instalarse en nuestro emulador. Siempre lleva un poco de tiempo. De acuerdo, mira, el proyecto está listo. Ahora es el momento de inicializar el VIH. Entonces tenemos que ir al punto principal,
punto en la función principal, solo convertirlo en un fregadero. Entonces como sabemos, si queremos inicializar algo antes de que la aplicación se esté ejecutando, tenemos que escribir esta línea de código, widget, flip data binding got asegurar inicializado. Entonces segundo no tendría es que directamente donde se almacenan los datos. Esperar, obtener solicitud. Documentos, directorio como este. Esto viene de pero proveedor. Y este directorio proviene de ese dato IO. Ahora segundo, el siguiente paso es inicializar el VIH, el hiv dot init y luego la mochila. Y ese picewing sea nuestro directorio dotplot. Eso es todo. Entonces de esta manera, se hace la inicialización. Ahora lo siguiente que me gustaría, me gustaría discutir es ese concepto de cajas. VIH almacena sus datos en cajas que contienen conjuntos de valores t. Antes de poder leer o componer datos, se debe abrir
una caja. Cajas podemos anexar con un peso, con sólo una sintaxis básica como HIV dot append box. Todos esos datos almacenados en altura son bandejas de entrada organizadas. Por lo que sólo les daré un ejemplo. Supongamos
que en nuestras tablas, es decir, cuando tenemos una base de datos, base de datos
SQL, hay un concepto llamado guijarros. Y cuando estábamos usando Firebase, entonces teníamos el concepto de colección. Tan pierna que solo tú puedes comparar una caja. Sólo recuerda, una caja no tiene una estructurada y puede contener cualquier cosa. Por lo que sólo tienes que recordar eso así. Y 40 ejemplo del mundo real, voy a decir una caja de usuario o el cuadro de ajustes, son estos mensajes enviados cuadro, si quieres, puedes crear. Ahora, vamos a crear nuestra primera caja. Entonces como dije antes, puedes usar tus libros, tienes que anexarlo y también darle un nombre. Simplemente entenderlo como un nombre de base de datos. Esto carga todos sus datos desde el almacenamiento local en la memoria principal para un acceso inmediato. Entonces aquí, si voy y escribo
HIV, hiv dot append box, así, simplemente tengo que añadir su caja. Y después de eso, estoy ejecutando mi aplicación. Además, recuerda, no es obligatorio anexar una casilla en el archivo principal. Puedes hacerlo en cualquier lugar. Sólo recuerda añadir un archivo, esto arriba en una caja al principio y después de Let lo puedes usar. Y nuestra app tampoco está mostrando ningún editor en este momento. Entonces es algo bueno. Bajo plugins están funcionando perfectamente. Entonces ahora vamos a crear nuestra primera pantalla. Vaya a la carpeta lib y cree un archivo. Nómbralo pantalla de inicio, punto-punto. Está bien. Ahora importar material. Entonces un widget con estado, nombrelo pantalla de inicio. Entonces como realmente Dennis andamio, esa barra AB. Yo le daría un texto. Colmena DB. Entonces en el cuerpo, Tomemos un contenedor. Y ese contenedor, yo le daría el ancho del ancho
del dispositivo que este medio consulta que fuera contextos que dice ese ancho. Y brillar. Yo le daría una columna. Ahora, simplemente crearía una interfaz de usuario que nos ayudará a entender esas operaciones crud. Crear, leer, actualizar, eliminar, hacer esta columna. Les voy a dar acceso alineación S y desolar bajo widgets se han centrado. Dentro de esos niños. Crearé botones elevados, botones iluminados. Por lo que el primer botón será 38. Entonces solo lo copiaré
y lo pegaré varias veces así. Y luego segundo, me gusta mucho leer. Escribiré actualización y para no relacionados. Por lo que ahora guárdalo y ve al punto principal. Y en mi widget de aplicación, solo tienes que eliminar todo a continuación. Aquí está mi página de inicio y sabemos que no los necesitamos códigos de calderilla. Y dentro de la propiedad del hogar, escribiré pantalla de inicio, esa es nuestra propia pantalla de inicio, y luego reiniciaré. A ver. Por lo que nuestra salida está aquí. Tenemos Alda para botones. Por lo que definitivamente como cualquier otra base de datos, habrá operaciones crud en VIH, que discutiremos en los próximos videos. Gracias.
3. Video 2 Comprender métodos de colmena: Por lo que tenemos listo el IQR de la solicitud de crédito. Pero antes de implementar todas las funcionalidades, me gustaría discutir y entender los métodos del VIH. Porque teóricamente también debemos saber cuáles son las diferentes,
diferentes funcionalidades base de datos de la colmena nos da. Entonces primero es levantarse bandeja de entrada. Entonces en el último video, hemos comenzado o hemos inicializado una nueva caja por su nombre fuera amigo. Entonces obviamente, si necesitamos si necesitamos esa caja o los Ws en sus pantallas posteriores, ya sea pantallas detalladas o donde sea. Por lo que no tenemos que volver a anexarlo en, nuevo para almacenar o recuperar datos. El VIH almacena una referencia a todas las cajas anexas. Si queremos tenerlos todos listos, anexar cuadro, podemos usar eso a continuación sintaxis. Por lo que aquí se puede ver var box es igual a HIV dot box y el nombre de la caja, en nuestro caso, será box, es decir, befriend. Entonces de igual manera, una vez abierta una caja, si queremos, también podemos cerrar una caja. Entonces si no necesitas la caja, otra vez, haces perderla. Voy a lanzar claves y valores de la caja se dejarán caer de la memoria. Y ese archivo de caja está cerrado. Después de que terminen nuestras operaciones activas de lectura y escritura. Además, recuerda que está perfectamente bien dejar una carpeta anexar caja, ejecutar la aplicación. Si necesitas otra vez una caja en el futuro, solo déjala abierta. En palabras simples, supongamos que sólo
tenemos una pantalla la cual estará usando esa caja en misión de frente. En esa pantalla, puedes desecharla porque esa caja no es utilizada por otras pantallas. Pero si esa información se usa aplicación sabia, es en páginas antiguas están en
la mayoría de las páginas que entonces supongo que no es recomendable cerrar la caja. Tan solo recuerda, tienes que cerrar la caja en ese dispuesto mi widget de estado de la sede central. Y la sintaxis es HIV dot close. O si quieres cerrar una caja en particular porque el cierre de punto del VIH se cerrará en las cajas. Pero si quieres cerrar solo ese amigo camina, solo
puedes escribir directamente Bach HIV dot box, entonces el nombre de la caja de puntos pistas como esa. Ahora, después de que se abra la caja, tenemos ¿tenemos que insertar datos dentro de ella? Entonces si necesitas almacenar datos, puedes usar la referencia a la caja de VIH y ponerle mi 10 en ella. Este método acepta un par de valor clave. Entonces aquí se puede ver la salida Box dot, y luego la clave es nombre, y el valor es John. Es así como insertamos un dato. Ahora, el VIH también admite claves de enteros para que puedas usar claves de autoincrementación. En. Esto puede ser útil si está almacenando múltiples valores tipo de similar a una lista y uno para recuperar por sus índices. Eso son índices. Se puede almacenar pierna. Esto es, esta es la sintaxis. Se puede reducir directamente cuadro de punto y me puso persona poner. Y ahora esto es Agregar y almacenará ese valor en ese índice a partir de 0. Por lo que solo lo puedes ver como un mapa y una lista. Este es un muy buen ejemplo porque el VIH también usa esos tipos de datos. Risas insertando datos, tenemos que recuperar los datos también. Para leer datos puedes usar ese getMethod en el objeto box. Basta con proporcionar el geeky para recuperar su valor. Al igual que var, nombre es que vamos a hacer box dot, obtener y luego nombre. Y como puede ver, nombre es la clave de los datos. Entonces así es como recuperas información de la base de datos de Hive. Ahora lo siguiente que es importante es actualizar los datos. Para actualizar esos datos de una clave en particular, podemos usar el mismo método PUT que originalmente usamos para almacenar el valor. Esto actualizará el presente esa clave con el valor recién proporcionado. Por lo que capa usamos Box dot poner nombre es John. Ahora podemos usar directamente Box dot name se va a hacer. Y ese valor previo será anulado. De igual manera, si está utilizando valores de incremento automático, podemos usar que poner a mi 10 para una puja su valor presente dentro de ese índice en particular. Se puede ver Box dot puesto en posición 0, Jennifer. Entonces así es como actualizamos los datos en una base de datos. Otra Last Mile, que es muy importante, es eliminar datos. Para eliminar los datos, podemos utilizar el método delete proporcionando esa clave o delete admitido proporcionando ese índice. Entonces depende de nosotros lo que somos, cómo estamos almacenando esos datos dentro de la caja de colmena. Si estamos usando ese par de valores clave, entonces podemos escribir directamente Box Dot Delete y esa clave se llamará. Y si estamos usando índice, entonces podemos escribirlo arriba. Empezar a eliminar en posición 0. Entonces esta es esa teoría o hace lo siguiente de ese credo, así es como podemos realizar ese credo. Y como digo, el VIH es muy fácil porque se puede ver todas las palabras clave son, los métodos son simplemente sencillos. Box dot get, Box dot, put, pantanos, Punto, Eliminar. Entonces estas no son tan complejas cosas para recordar. Entonces eso es todo. Para este video. En el siguiente video, implementaremos conceptos de Alda que entendimos aquí prácticamente. Gracias.
4. Video 3 Implementación CRUD: Hola. Por lo que ahora conocemos todos los conceptos que se requieren para realizar operaciones crud en VIH y también hemos construido esta interfaz de usuario realmente básica. Para el mismo propósito. Implementemos métodos de VIH en nuestra pantalla de inicio. Entonces ve a Pantalla Inicio punto, punto. Y aquí, vamos a crear algunas variables. Y lo primero que haría es conseguir la caja anexa. Es decir, obtener la referencia de esta caja. Por lo que sólo voy a nombrarlo. El cuadro de amigos es igual al VIH. HIV dot box y nombrelo. Y entonces el nombre era amigo. Por lo que tenemos que usar el mismo nombre de la caja. Y después de esto, la segunda será una cadena que también puede ser nula. Y voy a escribir el nombre de la variable es nombre. Esto, será el nombre del amigo, cual se almacena dentro de esta caja. Ahora vamos a crear algunos métodos como y amigo. Hazlo sincrónico. Entonces segundo método será conseguir amigo. Tercero será el amigo y adelante cuando eliminemos amigo. De acuerdo, así que estos son mis lápices adquiridos. Ahora, lo que quiero es cuando un, cuando hacemos clic en este crear, este add friend se ejecuta y un valor se está almacenando en esa caja. Por lo que simplemente escribiré un amigo de peso box dot put. Entonces por insertar datos nosotros, estoy usando put porque le voy a dar una clave es cuando clave
será nombre y donde estará Bill Gates. ¿ De acuerdo? Ahora, hemos hecho de agregar un amigo. Cuando un usuario hace clic en esta lectura, entonces quiero que este get friend sea ejecutado. N, almacene estos datos en el interior. A continuación, nombre variable. Para eso tengo que escribir. Nombre es igual a amigo box dot get, y esa clave será nombrada. Entonces para lo temprano como discutimos, tenemos que usar ese punto, conseguir mi etiqueta. Y lo que estaré haciendo es tan pronto como esta variable sea que se estén almacenando datos en esta variable, estableceré este estado para que
se renderice la UA y luego la variable de nombre se pueda mostrar en esa pantalla. Ahora para el marco de actualización, simplemente
escribiré await friend box. Ponga dentro de ese nombre clave. Escribiré a Elon Musk. Eso es todo. Pero así es como actualizamos. Y simplemente para el cucharón, así escribiré un gran amigo Box Dot Date, y clave se llama. Por lo que mencionamos que una clave aquí en esta función add friend. Y después de eso, solo estábamos usando esa clave para obtener actualización de devaluación o eliminar el valor de datos. Por lo que tenemos nuestras funciones Listo es tiempo v. Asegúrate de que esos estén siendo ejecutados por ese botón Conectar. Es entonces cuando creamos el concreto, debe pensar que debe ejecutarse. Agregamos amigo. Entonces. Segundo es conseguir amigo, que debe ser ejecutado. Cuando Redis haga clic en Actualizar amigo. Al igual que esto. Y la comida es borrar amigo. Por lo que ahora los botones están conectados con estas funciones. Ya es hora. Le mostraré texto en la parte superior, como texto. Y aquí simplemente llamado variable. Ahora reiniciemos y comprobemos si todo está funcionando bien. R-Night, nuestra aplicación Cloud está lista para ser probada. Entonces ver al principio, Don name key tiene un valor nulo. Ahora bien, si hago clic en ese botón Crear, ¿qué debería tener centavos? El nombre Bill Gates debe almacenarse en esa variable de nombre que se nombra clave. Ahora si hago clic en leer, que se debe actualizar con el nombre. A ver. Se puede revisar. Esto está funcionando a la perfección. Bill Gates está ahí. Ahora bien, si hago clic en actualizar, debería cambiarse a Elon Musk. Si hago clic en él y luego hago clic en Leer, ver, Elon Musk está ahí. Eso significa que vamos a conseguir se está actualizando con Elon Musk. Y por último, si hago clic en borrar, se borran
estos datos y cuando hago clic en Leer, vuelve a mostrar nulo. Entonces así es como funcionan las operaciones de crud del VIH. Y esta base de datos se instaló únicamente en el dispositivo del usuario. Entonces eso es todo para este video. En los próximos videos, estaremos hablando más sobre el VIH y sus otras características. Gracias.
5. Video 4 Conceptos básicos de adaptadores de tipo: Bienvenida. En esta sesión, estaremos hablando del concepto de adaptadores de tipo. El VIH nos permite almacenar la mayoría de los tipos estándar. Eso es cuerda en mapa digital, menos el tanque. Ahora, cuando estemos construyendo aplicación del mundo real, tendremos clase modal para nuestros datos, ya que esto hace que el desarrollo sea mucho más simple y rápido. El retardo de este modelo tipo necesitamos usar adaptadores de tipo, que las causas son, lo que ayuda a codificar y decodificar nuestros datos a forma binaria. En nuestro escritorio. Los adaptadores de tipo se pueden escribir manualmente, se generan automáticamente. Siempre es mejor usar la generación de código para generar los métodos requeridos porque ayuda a prevenir cualquier error que pudiera ocurrir mientras construimos nuestro escribir ese código manualmente. Lo generaremos agregando generador de
VIH y desierto en ese dev dependencias en Pub spec ese archivo YAML. Así que saca tu Chrome. Y aquí, simplemente escribe. Este es, como se puede ver, Janet editor de pasos adaptadores para almacenar cualquier clase. Es copia. Y ve a Yemen. Lo siento, dentro de
dependencias de dev como esta. Y segundo es construir un corredor. Simplemente cópielo e instálelo en esas dependencias de dev. Recuerde, no interdependencias porque esto es sólo para el propósito de desarrollo. Ahora, ¿de acuerdo? Tenemos las dependencias en piedra. Ahora como digo, V podría necesitar clase modal. Entonces lo haría, estaré creando una aplicación de tareas pendientes a partir de ahora para que podamos entender la base de datos de Hive de manera más adecuada como supongamos que esos datos de tareas pendientes de hoy no se requieren para almacenar en el servidor. Esos son personales únicamente para el dispositivo del usuario. Dentro de la carpeta lib, simplemente crea un archivo llamado todo dot, dot, dot. Y aquí, vamos a crear una clase llamada a hacer. Entonces. No tenía título y se ha completado o no. Y esto debería ser ahora crear el constructor. Y este punto-punto-punto. Esto se completa. Por lo que tenemos nuestra clase modal está lista. Es hora de que generemos adaptadores para esta clase. El paquete del genoma del VIH puede generar automáticamente adaptadores para cualquier clase como esta, nuestra clase. Hay pocos pasos para ello. Primer paso para generarlo, tipo, su clase favorita. Lo anoto con Tipo VIH y proporciono una identificación tipo. Segundo paso es un agregado todos los campos. Es decir, estos campos que deben almacenarse con llenado de
VIH y cinturón de correr incansable deuda de Estados Unidos es que hay un comando que tenemos que usar para que automáticamente construya una clase de adaptador para ello. Y el cuarto paso es registrar ese adaptador generado. Entonces. Empecemos a hacerlo. Empecemos. Sé que no murieron clase modelo para usar generación de código. Sencillamente. Lo primero que tenemos que hacer es importar. Entonces aquí tenemos hoy tipo y tipo ID, solo dale uno. Entonces dentro de los campos
hemos fallado y luego indexamos solo 0. Entonces de igual manera aquí, el VIH, índice uno. Entonces de esta manera, se hacen
nuestros dos primeros pasos. Eso es un agregado el tipo de colmena y proporcionar un ID de tipo. Y segundo son las alfas anotadas, que deben almacenarse con campo alto. Ahora 30s. tercer paso es simplemente sacar tu terminal y tipear. Y antes de eso, hay que escribir este código también. Pero luego dentro de ella escribe el nombre de esta clase archivando que este todo dot, dot, dot. Por lo que esto se generará automáticamente cuando escribamos este comando que está sacando el terminal y Flutter
derecho paquetes y presionamos Enter. A ver si está funcionando o no. Porque no lo sé. Podríamos tener que dejar de depurar y reiniciar. Funcionará directamente porque como instalamos algunas nuevas dependencias. Digamos que esto funciona, supongo que algo se está mostrando en la consola. A ver, ya está hecho. Nuestro adaptador se está aprendiendo, o se puede decir que se está construyendo automáticamente aquí, este todo dot, dot, dot. Y recuerda, este es el adaptador y no tenemos que modificar nada en init. Y este punto g, g significa generar como normalmente transformar nuestro adaptador Janet para esta clase. Entonces así es como nosotros, cómo usamos los datos de clase personalizados. Y nos aseguramos de que nuestro qué tal una colmena apoye también esas clases. Aquí estoy usando esta clase Todo. Ahora por fin, todos los pasos que he hecho, es hora de que registremos este adaptador. Por lo que todos estos códigos generan un adaptador llamado todo adaptador. Aquí puedes ir a ver este adaptador. Y debes registrar este tipo de adaptador antes de abrir la caja. Eso es usar cualquiera de los sabios, producirá un error. Ya que sólo estamos usando una sola caja. Y puedes ver que estoy usando esta caja de amigos. Pero ahora mismo me gustaría registrar primero el adaptador aquí. Y eso con este código, que puedes comprobarlo, por qué no funciona. El registro que Percy. Y dentro de esa app que me gustaría, me limitaría a escribir adaptador Magnus. Y después de eso, voy a anexar una nueva caja. Ancho. A hacer. Es decir, este cuadro sólo contendrá dos datos. Simplemente anexaré cuadro y lo nombraré. Yo sólo escribiré. A ver. Vamos a ahorrar. Y si ningún error está muerto y ha funcionado correctamente. ¿ De acuerdo? Por lo que hemos registrado con éxito también nuestro adaptativo. Ahora en esta base de datos que es hacer caja, se almacenarán
todos los datos. De este objeto es todo objeto anterior era como valor clave, eso es formato JSON, que ahora será diferente. Entonces eso es todo para este video. En el próximo video, crearé una aplicación básica de tareas pendientes usando aleteo y VIH. Gracias.
6. Video 5 Crea una aplicación Todo: Hey, bienvenido de nuevo. Por lo que en el último video, hemos creado con éxito el adaptador para nuestra clase Todo. Pero ahora es el momento de empezar a trabajar en la aplicación completa de Todo. Lejos de que Vamos a ir a esa carpeta y crear un nuevo archivo y nombrarlo, añadir punto punto pendiente. Por lo que básicamente, esta pantalla se usará para añadirla a nuevo sólido. Obviamente, cuando tenemos algunos datos en la base de datos, entonces sólo podemos recuperar esos artículos pendientes. Entonces el primer paso es hacer una pantalla para que un usuario pueda escribir su artículo pendiente y luego subirlo a la base de fuego. Como siempre, importar un paquete material. Después una pantalla apátrida. Yo lo haré, voy a crear un nombre que a hacer. Ahora hazlo volver un andamio luego en la app, pero solo dado bus para que pueda tener un botón Atrás. Eso es todo. Ahora, en ese cuerpo, mi, mi plan es simplemente mantenerlo
campo de texto donde el usuario ingresará un botón de enviar, eso es todo. Por lo que voy a empezar con dependiendo porque sé que necesito algún espaciado desde todos los lados y dárselo a efectivamente esto. Recuerda cuando estás construyendo mucha aplicación, sabes que un vastamente de sitios bajo demanda, necesitas algo de espaciado. Por eso también puedes hacerlo desde el principio. Ahora en el niño, voy a tener una columna sobre elemento de columna debe estar centrado. Por lo que voy a hacer principal existe el centro de puntos de alineación. Entonces no tendríamos a nuestros hijos. Ahora, antes de escribir lo que hay dentro de Chamberlain, Vamos a la pantalla de inicio. Para que aquí tendremos un botón de acción flotante, que al navegar a eso se suman a la pantalla. También todos los códigos anteriores pierna esto lo que acabo de escribir para explicar que operaciones cred. Me gustaría quitarlo porque no quiero esto en esta aplicación de tareas pendientes. Ahora. Tan solo tienes un botón de acción flotante y tienes un botón de acción flotante como este. Niño será. Yo puedo, puedo agregar. Y no lo hicimos sin fases. Simplemente escribiría navigator dot push material, págalo fuera. Eso fuera tendremos nuestro contexto y agregaremos una pantalla como esta. Guárdalo. Y en ambulatorio puedo ver lo voy a nombrar sólo VIH. Haz ese título de la pantalla así. Cueva. Ahora si hago clic en él, veo que tenemos una pantalla vacía y este es nuestro botón Atrás. Ahora vamos a la pantalla Agregar a hacer. Y no hicimos eso niños. Tendría si tuviera un libro de texto, crearía un controlador de edición de texto. Al principio, el controlador de detalle íntimo es igual al controlador de edición dx. Así. Y también, ya que ya hemos anexado nuestra caja en el punto principal dot-dot-dot es esta caja de tareas pendientes. Yo sólo conseguiría esa caja anexa. Entonces acabamos de decir caja. La caja es igual a. Hola, caja. Y nombre que explotó. Es decir, se hizo su nombre. Y va a estar apagado para hacer datos como este. Ahora, vamos a ir esos niños, vamos a crear nuestro primer campo de texto. Controlador será controlador de título. La decoración estará en buena curación. Y sólo dar texto etiquetado como Pena. Y como delinear poner polvo así. Guardémoslo y comprobémoslo. Ver, tenemos nuestro campo de texto de título después de la baraja. Por lo que voy a dar un poco de espaciado usando chispas de tamaño, alzado, dar 30. Entonces crearía un botón con el contenedor que la altura. Yo le daría 50. Cuando daría el dispositivo cuando eso es infinito de doble punto. Cuando le daría un botón liberado. Y dentro de ese texto, yo sólo diría añadir azul y darle un poco de estilo a ese texto. Ese es principalmente el tamaño de fuente, que estaremos haciendo bien. Guardémoslo y comprobémoslo. Ver la interfaz de usuario en la pantalla está bien. Ahora es el momento. Trabajamos en el botón de pulsación para que se almacene cualquier texto que esté dentro del controlador estable, o también se pueda decir cualquier texto que el usuario haya escrito. En primer lugar, se convertirá a un objeto todo, es
decir esto a hacer tipo. Y luego después se almacenará en la caja de colmena. Por lo que simplemente presiona Función. Primero comprobaría si ese controlador de elementos no es ninguno punto txt no es igual a NP, luego ejecutaría ese código. Entonces, antes que nada, crearía un nuevo objeto. Un azul nuevo es igual a dos, así. Y dentro de ella. Para el título, escribiría texto de punto controlador de detalle. Y ahora para Oriente completó que el valor predeterminado, visitaremos fuentes. Ya que se trata de un nuevo artículo por hacer. Después de crear este objeto, simplemente
tomaría esa caja de tareas pendientes. Ese es el alto Vaux y punto derecho, agregar y enviar y le dio este valor de tareas pendientes. Como ya hemos hecho aquí, ese tipo Todo clase, sólo te aceptará hacer datatype. Y este punto n significa que no habrá llave. Se almacenará en el índice. Es decir, supongamos que es una especie de lista, por lo que se almacenará en el índice 0 ya que no hay elementos. Y después de eso, simplemente saldría de la pantalla. Eso es todo. Ve y echa un vistazo. Hacemos click en este Agregar a hacer. Y simplemente escribiría gerencia estatal de proveedores aprendidos, ¿de acuerdo? Así. Y dar click en Agregar a hacer. Y ver que nos han navegado fuera. Pero no podemos ver si no hemos recuperado las tareas pendientes, así que podemos, no estamos seguros de que la identidad se esté almacenando correctamente o no. Entonces trabajemos en esa recuperación también. Y la pantalla de inicio se encargará de mostrar los datos almacenados en altura. Básicamente, implementaremos aquí las operaciones de lectura. Halagados, proporcionanos un rígido llamado value listenable builder que solo se
refresca cuando se modifica cualquier valor dentro de esa base de datos especificada o esa colección. A ver. Entenderás a lo que me refiero con eso. En primer lugar, crearía una instancia de caja que es Toolbox es una llamada al VIH. No caja. Y darle un tipo de datos. Eso es todo. Ahora, en el cuerpo, escribiría value listenable builder, este. Por lo que tiene dos parámetros. En primer lugar es vecino sin valor, ese es el valor que tiene para escuchar. Y me gustaría simplemente hacer eso es este box dot listenable, pero este oyente sido, mi turno, sólo
está disponible en paquete de aleteo alto, así que tenemos que importarlo, importar VIH aquí tercero, y luego aleteo alto como este y ver el agregado se ha ido. Por lo que hay que recordar que dot listenable está disponible en el paquete high flatter. Entonces, ¿qué significa este código? Entonces en palabras simples, si algo cambia en este cuadro de tareas pendientes, este widget será reconstruido. Nuevamente, tan simple como eso. Tan solo, también puedes entender que si algo cambia el estado establecido se llamará. Este es un ejemplo muy limitado, pero solo quiero que entiendas el concepto. El constructor es una función que tiene contexto de primera cosa. Segunda cosa es una caja, esa es una caja neta para hacer. Y tercera cosa es un widget. A menos que nos preocupemos por este parámetro de pláticas, sólo
usaremos eso. El primero, me limitaría a comprobar si la casilla está vacía. Eso es no do se ha insertado. En ese caso es simplemente volver. Simplemente devuelve una visita al centro. Tomamos hijo. Eso es un texto, nuevo, Todo, así. Y supongamos que la caja oscura no está vacía. En ese caso, produciríamos un widget que es un constructor de ListView. Y simplemente devolver una vista de lista. Ya que sí almacenado en que el VIH está en forma de lista. Ahora, el recuento de artículos será la longitud de punto de caja. Esa es ésta, que es también significa esta caja. Pero vamos a utilizar esto ya que estamos escuchando a este constructor. Y en el ítem winder, Vamos a contratar contextos e índice. Ahora dentro de eso, ya que dentro de esa caja azul, nuestros datos. Para hacer tipo de datos, eso es todo objeto. Simplemente lo escribiría en una variable. Para hacer es usar el punto de caja, obtener un índice. Imagínense que este índice es 0. Dentro de esa caja. Se irá a la posición índice 0 y traerá eso para hacer datos y almacenarlo en. Y simplemente lo iterará. Simplemente seguirá hasta que se acabe la longitud. Por lo que simplemente escribe lista de devolución. Y dentro de ella. Yo le daría un título. En la propiedad del título, daría ese texto de título de punto azul, cuello este Vamos a guardarlo. Antes hemos escrito maestro, proporcionar gestión estatal de Estados Unidos. Ver, tenemos esto aprender. Proporcionar gestión patrimonial. Y podría estar preguntando por qué get es otro dos de ellos que es maestro de gestión estatal en coqueteado y esto así me gustaría decir esto fue porque ya he probado la base de datos de Hive en este dispositivo. Entonces por eso, porque ese mimar era lo mismo de la caja. Es decir hacerlo se ha recuperado los datos anteriores almacenados como renta. Pero supongamos que simplemente escribiría aquí,
despertarme temprano, supongamos, y luego agregar 2 y C. Se
puede ver ese despertar temprano aquí. Entonces, en última instancia, nuestra aplicación de tareas pendientes está funcionando hasta la cabeza. Entonces eso es todo para este video. En el siguiente video, implementaríamos la actualización para hacer como muy menos borrar para hacer funcionalidades. Gracias.
7. Video 6 Actualización y eliminación de Todo: Por lo que hasta ahora tenemos esta aplicación básica de tareas pendientes. Es tiempo v, implementar algo para indicar que este ToDo se ha completado o se hace, entonces sólo se eliminará. ¿ El usuario ni siquiera sabrá que esta tarea se ha hecho, no
están lejos que voy a estar usando. Se comprueba el widget de casilla de verificación. Y lejos eso. Porque en esa casilla, hay algo llamado cambio. Es decir, si haces clic en él, obtenemos un valor de verdadero o falso. Y de acuerdo a ese valor, cambiaría las propiedades de esta región de texto. Entonces hagámoslo prácticamente. Dentro de ese título. Eso mostraría un ícono líder. Y lo tendrá cheque. El valor de la caja sería hacer se convierte es verdadero o falso. On, dentro de la propiedad onchange. Tengo que hacer algo para que se actualice el valor dentro de estos dos. Ahora ese ser es, ya que hice final este valor, por lo que no puedo ir directamente y cambiar el valor que es valor dentro de esta clase
Todo, mostrará un adder. Entonces lo que haré, crearé una nueva variable y simplemente escribiré así esto y
esto. Y dentro de ella, ese título sería igual que este estudio es hacer el título que el anterior sólo pero que se complete será este valor. Ese es éste. Y como es en seguridad, tengo que usar esta explicación para que me asegure de que este valor no sea nulo. Ahora y ahora. Después de esto, simplemente lo reemplazaría por él. Poner en índice. Y el valor sería nuevo para hacer así. Eso es todo. Entonces, lo que hace,
lo, simplemente crea una nueva tarea pendiente y lo reemplaza por la anterior. Ahora, como nuestra pequeña herramienta, no
estoy actualizando esto para hacer porque sus propiedades donde final. También se puede cambiar la clase de modelo. Es decir, puedes ir y cambiarlo aquí y luego otra vez, reconstruirlo, reconstruir este adaptador ahora. Pero no lo estoy haciendo en un, no
estoy tratando de hacer eso también. Y sólo patinando simplemente un nuevo objeto y reemplazándolo por el anterior. Ahora, supongamos que este valor es dos, es
decir, se ha completado esta tarea. Entonces mostraría, haría algunos cambios a este texto también. Entonces dentro de ese txt, lo
primero le daría un tamaño de fuente simplemente como 20. Entonces font-weight. Font-weight, negrita. Ahora ese color. Entonces si se completa dos puntos azules es cierto, entonces escribiría colores verde oscuro. Si no, añadiría colores negro. Vamos a comprobarlo. Si hago clic en él, ver color se está volviendo verde. Si hago clic en esto, el color se está volviendo verde. Ahora lo que yo haría es simplemente en esa declaración, yo haría a nuevo punto se completa. Si es cierto, entonces escribe decoración de texto línea de puntos, true. De no ser así, añadiría decoración de texto ninguno. Vamos a ver ¿qué hace este código? Entonces si hago clic en él, ver que es. Strikethrough. Es decir, podemos entender que esta tarea está terminada. No tenemos que pensar en ello. Entonces así funciona nuestra actualización a hacer. Ahora es el momento de que tengamos una funcionalidad para eliminar es perder también. Para eso, simplemente después de la delantera, lo tendría ícono de trailing. Y dentro de este diario, le daría un ícono. Botón. Icono sería yo puedo iniciar el color tardío a colores rojo más oscuro. Y luego prensado. Ver, a diferencia de preocupación aquí. Ahora simplemente tenemos que eliminar. Y sólo podemos escribir en una línea de código que es Box Dot Eliminar, anuncio y el índice, eso es todo. Por lo que el pie borra ese particular todo en ese índice. Después de eso, me gustaría mostrar un snack bar. A mí me gusta darle algunos comentarios al usuario en algún momento si lo deseas, puedes darle este cuerpo de mapa en otras secciones ya que uno a seis es así. Y eso es todo. Vamos a probarlo. Si hago clic en él, verlo con éxito. Si hago clic en esto, también
se elimina de la base de datos de Hive. Y si me quito todo, entonces saber hacer desde que nuestras cajas vacías. Por lo que es una aplicación de tareas muy profesional y básica usando aleteo y altura. Ahora todo está bien. Aparte de éste, ¿puedo, supongo que agrego algo como inundado? Está bien. Se viene en la parte superior. Si escribo mostaza, Firebase 10 c, no viene en la parte superior, ya viene, hace segundo. Entonces esto no debería suceder. Entonces que éste debe estar en la parte superior. Por el momento que sólo tengo que hacer algunos cambios en esta lista vista constructor de puntos aquí. Lo primero que escribiría este reverso es igual a cierto. Y segunda cosa, a ver si hago clic en esto ahora y lo guardo. Esa cosa se invierte, pero todo va en la parte superior porque el ListView se lleva todos los espacios disponibles. Es por eso que si no usamos esta propiedad, ¿la envoltura retráctil es igual a verdadera? Se irá al fondo. Pero, ¿qué envoltura retráctil es verdad? Lista sólo ocupamos el espacio que se necesita. A ver, ahora se ve muy bien. Si escribo algo ahora como práctica, proveedor, estado, gestión, así. Y está bien, C y la misma parte superior se está generando, que se está mostrando correctamente en la carrera que es orden descendente de sus datos de subida, solo puedes guardar. Entonces eso es todo para este módulo. Espero que hayan disfrutado y aprendido mucho. Porque cuando estamos construyendo cualquier aplicación usando FERPA, No siempre
es necesario usar la base de datos del Servidor. Podríamos, y tendremos muchos escenarios donde necesitamos base de datos de Hive, es
decir almacenamiento local, almacenamiento también.