Transcripciones
1. Introducción al curso: Si eres nuevo en el desarrollo de
aplicaciones y buscas un trabajo para ganar
una cantidad decente de dinero, entonces no te arrepentirás de
tomar este curso. Como todo el mundo sabe que
Florida es
tecnología de tendencia y ha cambiado la
forma en que construimos aplicaciones. Se trata de una
herramienta multiplataforma para construir aplicaciones para Android iOS web deck stop
con solo una base de código. En este curso, aprenderemos
todo desde cero. Es para principiantes absolutos. Entenderemos
sobre widgets, cómo administrar conceptos de
navegación de estado, manejar entradas de usuario,
integrar API de descanso. Todos estos conceptos son suficientes para darte confianza
como desarrollador. Entonces, ¿sangraste por
tu trabajo de ensueño? Entonces sin desperdiciar nada
más que la lente se inicia.
2. Cómo crear un nuevo proyecto y entender la estructura de archivos: Ahora ha llegado el momento de que
creemos nuestro primer proyecto de
Florida. Ahora para asegurarnos de que el aleteo
se esté instalando correctamente, solo
podemos usar un comando
como versión aleteo. Primero abra
el símbolo del sistema y luego simplemente seleccione este
comando y presione Entrar. Si no puedes ver ninguna versión, entonces la has instalado
correctamente. Y si hay alguna versión
más reciente también, entonces también se puede ver como una nueva versión de
Florida está disponible. Pero ahora mismo
estaremos trabajando con Flutter 2.2 si es necesario más
adelante y ambiguos, vamos a actualizar pero no sabremos. Los datos de Crf están
instalados correctamente en su sistema. Ahora para crear el Proyecto
Florida directo a mis hijos son de dos maneras. Primero es usar Android Studio. Si utilizas mucho Android Studio, entonces solo puedes ir y anexar Android Studio e instalar que requería
extensiones lejos aleteo, porque habrá
una herramienta de extensión en Android Studio como bien. Simplemente tienes que descargar
o instalar las Herramientas de datos. Pero no prefiero el
estudio enriquecido porque antes que nada, es muy, es, usa
muchas de tus fuentes de PCD. Lo hace más lento, supongo porque soy un modo de
un usuario de VS Code o
muero texturalmente prefiero que nos código. Entonces eso es ola. Estaremos usando código VS. Asegúrate de
instalarlo en tu sistema. Es muy fácil. Solo puedes ir a bajarlo. Ahora para crear esfuerzo
un proyecto primero, ve a la carpeta donde
quieres tu primer proyecto. Entonces simplemente anexa un prompt común allí y simplemente escribe,
Flutter, crea. Este es el código. O puedes decir, esperar a crear un nuevo proyecto. Y después de la creación, cualquiera que sea el nombre que le des
será un nombre de proyecto que
sea tu nombre de aplicación. Se puede decir obviamente que
se puede cambiar más adelante. No es un tema. Simplemente vamos a
un tutorial de aleteo. Tutorial, está bien, haz clic en Entrar. Por lo que simplemente descargará y creará su proyecto
acampanado. Si estás viendo
todo hecho, Eso es todo. Lo has hecho correctamente. En, Dentro Definitivamente proyecto. Es posible que veas muchos archivos
de los que
discutiremos ahora solo. Pero antes de eso, simplemente
anexamos código VS patio, vamos al archivo y solo anexamos. Y aquí simplemente tienes
que anexar tu
proyecto así. Por lo que se ven carpetas y
archivos que estaban presentes. Ha
utilizado con éxito el Código VS. Ahora. Ahora lo que haremos, veremos más sobre
estas dos estructuras de carpetas. Hay diferentes carpetas. Eso es Android, iOS en vivo, prueba de spec dot YAML que web, señor de la cosa carpetas y archivos. Sólo tenemos que recordar que la carpeta android es
donde se almacenan
los archivos borrados de Android. No lo cambiamos mucho. Simplemente
lo usaremos para algunas cosas como cuál será el
ícono de tu aplicación, dispositivo
Android, ¿cuál será
el nombre de la aplicación? Son muy pocas las cosas específicas
de Android son plugins, pero no todo el curso. Igual con la carpeta iOS
plegada es tener todos los archivos que se utilizarán para
construir una aplicación iOS. Pero sólo haremos
esos cambios, pequeños,
pequeños cambios que
habían adquirido nodo, no código de color oscuro. Ahora que esta hoja cae, eso es lo principal, esta es la carpeta que la
usaremos una y otra vez. Aquí es donde estaremos
trabajando la mayor parte del tiempo. Por defecto,
contiene Main.Jack. Este es el punto
de entrada de la aplicación fotográfica, como dije ya lo hemos
visto en esa sección de datos. Y ese punto principal, punto o la función principal, es el punto de entrada. Si vas y haces click en ellos. Esta función principal aquí, guardar. Y definitivamente
habrá otras cotizaciones también. Y podría que te
abrumara en la actualidad. Entonces no mires ese código. Tan solo recuerda esta función
principal. Después de eso. Hay prueba,
prueba esto donde pones el código de prueba de unidad
para la aplicación. Cuando estés listo, cuando tu aplicación
esté lista para la producción, tienes que
probarla mucho tiempo. Las pruebas son un tema completamente
diferente el cual no
estaremos cubriendo porque
antes de ir a probar, debes tener una aplicación de
aleteo estructurado muy limpia. Y luego siguiente y muy importante archivo es
Pub spec dot archivo YAML. Este archivo define la versión y el número de compilación de su aplicación. Si ves,
solo veremos esta versión y ésta se usará cuando
estés publicando tu
aplicación en cualquier lugar, torr o iOS Store. Primero usos es esto, y luego estas dependencias. Y podría estar preguntando
¿qué son las dependencias? Lo veremos y entenderemos también
en el siguiente video. Porque dependencias significa que tu aplicación definitivamente
dependerá de software de terceros
o biblioteca o plugins. Esto también es muy importante. Debería tener un
video separado para discutir. Pero sólo recuerda, me he
saltado otras carpetas y archivos porque
la mayoría de las veces realmente no
necesitamos tocarlos. Sólo tenemos que trabajar en salto, Pub spec dot YAML y poco en dentro de la carpeta Android
e iOS. Por lo que ahora tienes tu aplicación de
aleteo arriba. Es hora de ejecutarlo en un dispositivo. Para dispositivo solo anexa Android Studio porque
deberías tener un emulador. Si no tienes el emulador, puedes usar tu dispositivo
Android físico también. Solo tienes que
asegurarte de tener el modo de depuración activado
en la configuración de tu dispositivo Android. Aquí. Sí, dar
click, configurarlo. Aquí, tengo un dispositivo. También puedes crear tu dispositivo
virtual también. Es muy fácil, pero tengo esta celda grande tres
APH sería 8. Simplemente lo ejecutaré. Puede que lleve un poco de tiempo. Ves, tu emulador está aquí, dice dispositivo Android. Ahora simplemente lo
que tienes que hacerlo es ser tu código VS
ir al punto principal. Y en su ejecución, basta con dar click en Iniciar depuración. Y ahora hay
que esperar un rato, porque por primera vez, tomará algún tiempo,
pero puedes quedarte. Es lanzar nuestro principal ese punto en ese emular que
el modo de depuración. Entonces esto es bueno. Esto está funcionando. Yo sólo quiero decir que inundado
es una herramienta muy impresionante. Es como si fuera muy fácil de
entender y fácil de trabajar. También, has entendido que
los conceptos básicos en cualquier lenguaje de programación son los mismos que en el lenguaje oscuro. Sólo recuerda, cuando
estás usando Android Studio, tu sistema podría estar laggy. Son, se puede colgar porque
sus usos en tu RAM. Por lo que podría no usar o hacer cualquier otra cosa mientras
estás trabajando en un emulador de Android porque en
sí mismo está haciendo que tu
sistema funcionara muy duro. Y no quieres estrellarte porque estás actualizando sistema no
pudo manejarlo. Sí. Está mostrando las
salidas de compilación flutter, APK, app debug dot APK. Entonces espero que sepas
que esa
extensión APKs menudo aplicación de
dispositivo Android. Ahora, está bien. Ves, tendrás esta pantalla anchos como
aleteo demo homepage. Y en su oído medio estará, has pulsado el botón este muchas veces y un botón está aquí. Si hago clic en él, ver 1, 2, 3, 4, 5, va en aumento. Por lo que finalmente tenemos nuestra aplicación flutter
corriendo en nuestro emulador. En el siguiente video, estaremos hablando más de los conceptos como
widgets y otra cosa. Por ahora. Espero que hayan
disfrutado.
3. Qué son los widgets: hoy
hablaremos de widgets. Cuando estamos trabajando en coqueteado. Se encontrará con esta
palabra mucho tiempo
porque he escrito dentrode porque he escrito dentro esfuerzo aplicación es un presupuesto. Desde un texto sencillo, dos botones hasta diseños de pantalla. Simplemente te pondré un ejemplo. Si estás viniendo, si tienes alguna experiencia
desde en desarrollo web, entonces entenderás
que hay barra de navegación, campo de
texto, div, tablas
en Bootstrap o en HTML. En aleteo. Todas esas cosas que otros elementos de la interfaz de usuario
se llaman widgets. Eso es todo. Entonces no es un concepto muy
difícil. No estoy diciendo que los widgets sean, a menos que en líder estés escribiendo, pero para el entendimiento básico, hay
que recordar que si ves algo
en esa pantalla, será un widget. Eso es todo. Ahora, cada widget
tendrá propiedades, o puedes decir argumentos
que tenemos que pasar. Entonces si recuerdas el concepto
de argumentos nombrados del programa oscuro anterior, dudan tutoriales, ya lo
hemos hecho. la misma manera. Yo lo hubiera hecho. Widget también es una
función que puedes guardar porque en la parte posterior
del código de núcleo aleteo, se menciona como argumento
llamado. Simplemente les daré un ejemplo. Aquí. Definitivamente este código
que no debes tocar. Simplemente verás de qué
hablo. Este centro es un widget. Por lo que es propiedad está
aceptando es 11. Propiedad se llama niño. Sólo imagínate. Sí, yo solo, sólo lo
estoy escribiendo aquí. Contamos con una función call center. Y aquí podría estar aceptando algo
como argumento llamado. Supongamos nombre de cadena. Aquí, es lo mismo está ahí, pero es
propiedad rígida llamada niño. Es por eso que estamos llamando a este widget centrado
re-indexar propiedad child. Estamos enviando de nuevo un widget
diferente, esta columna. En los próximos videos, nos sumergiremos profundamente en todos los textos de columna de
centro estable de presupuesto, sean cuales sean, widgets
vamos a entender todos
y todo. Pero en este momento solo quiero
dar un panorama básico. Al menos debes saber cuál es el significado
de la palabra widget. Ahora puedes irradiar, escuchar eso, y esa propiedad aceptará
la mayor parte del tiempo
widget como su valor, como te dije, como te he demostrado que
en esa propiedad infantil, Está aceptando una columna
que es de nuevo Abhijit. Y lo último es que
cada widget empieza con su nombre
seguido de paréntesis. Entonces otra vez, voy a raquetear y supongo que este es un texto rígido
luego paréntesis. Y dentro de sí mismo,
tienes otras propiedades. Supongamos que niño así
y esto, otra vez exceptuado ,
valore, pero en un
texto, no es niño, supongo que es diferente, pero solo
te estoy dando un ejemplo básico. Ahora. Ver esta imagen. Esta es una manera, esta es una aplicación
construida usando aleteo. Entonces aquí, si puedes ver
este botón de Verde, están esta imagen o esta flecha, todo esto, nuestros presupuestos. Este texto es de nuevo un widget. Esta barra de navegación vuelve a promediar. Ejemplo. Se trata de una aplicación de entrega de
alimentos muy básica, pero se ve tan bien
porque está construida con Flutter. Por lo que estas categorías también
son un widget llamado fila porque es de
izquierda a derecha, horizontal. Entonces dentro de esta
cosa circular o lo que sea, o el ícono de búsqueda también
es un widget. Igual es este ejemplo. Esta barra de búsqueda es de
nuevo un widget. Este botón de navegación
vuelve a ser un widget. Esta imagen es de nuevo un widget. De lo que el widget
ahí es la imagen. Eso es todo.
Lo verás en el video posterior. Yo solo quiero
mostrarte que lo que sea que estés viendo en
este momento en la pantalla, todos ellos son diferentes, diferentes widgets. Eso es todo. No lo hacemos yo si
estás abrumado, entonces también está bien
porque está bien. No has hecho nuestro trabajo, hecho algo así, pero es muy sencillo. De acuerdo, hasta ahora, esto es suficiente con
ese tema de widgets. Gracias.
4. Trabajar con recursos y archivo Pubspec: En la sesión de hoy
estaremos cubriendo un tema muy básico del patrimonio. Entonces podría estar preguntando
¿qué son los activos? Imagínate
que tienes una aplicación, y definitivamente en
esa aplicación, tendrás algunas imágenes, algunas imágenes diferentes. Eres el logo de una empresa, son algunos archivos de fuentes diferentes, son algunas animaciones,
lo que
veas, tienes algunos
archivos diferentes para tu aplicación. En ese momento. Tienes que
asegurarte de que lo has hecho. Usted ha dicho que para su proyecto de
aleteo que estos son los activos que quiero que me
incluyan en mi solicitud. Eso es todo. Por el momento que lo que tienes que hacer es ir a tu carpeta de
proyecto de filtro. Aquí verás diferentes
carpetas. Basta con crear
una nueva carpeta de activos. ¿ O a qué te
refieres con que quieres dar? Normalmente doy activos de TI
porque es conveniente para mí. Entonces dentro de los activos, qué activos quieres si
tienes justo si quieres, también
puedes simplemente dejar aquí
todos tus expedientes,
el electoralmente. Pero lo prefiero. Nuevamente, crear una carpeta
de imágenes son si quieres. Perdón. Si quieres. Si lo deseas, también puedes tener
diferentes carpetas,
como los fondos son lo que sea. Por lo que de esta manera tienes tu
estructura de carpetas más antigua correctamente. Ahora en las imágenes, solo tienes que ir y copiar cualquier imagen que quieras y
simplemente pegarla. Tengo esto si quisiéramos
ver la imagen. Ahora, lo que tienes que hacer es tener tu
carpeta aquí correctamente. Pero ahora es el momento. Implementamos nuestro le decimos a
nuestro Proyecto Florida, Esta es la carpeta Activos. Por eso. Tienes que ir a ese archivo KML. Ahora, solo recuerda
este archivo Pub spec dot YAML es muy
sensible, bien, porque si tienes una pestaña extra o
espacio extra o lo que sea, toda
tu aplicación
se estrellará. Entonces solo recuerda y
ten mucho cuidado. No toques nada. Sólo recuerda aquí. No obstante se puede ver
esta cosa patrimonial que está en el comentario. Así que simplemente vaya a una y antes de una y simplemente apile de nuevo
espaciado dos veces. Eso es todo. Y otra vez aquí,
retroceso dos veces. No más que eso, porque si estás
viendo una rodilla, recuerda deshacer e inténtalo de nuevo. Ahora
estos activos este código de activos sólo
se hizo ahí para
mencionar que nombres de carpetas. Aquí. Simplemente lo
escribiré desde el principio. Es como activos
y luego imágenes, y luego pierna, Eso es todo. Eso simplemente significa
esta carpeta de activos. Dentro de esa carpeta, hay una carpeta de imágenes que acaba de subir. Detendré mi sesión de
depuración de Florida. Ya que has hecho un entrenador de
cambios bisagras. Y simplemente, si
quieres incluir fuentes aquí, esto es lo de la fuente donde
solo tienes que deshacer
descomentarlo y mencionaste tu ubicación del archivo de
fuentes. En este momento no estamos tratando
con fuentes porque no
es lo más importante en tu aplicación
para los principiantes. Ahora más sobre este archivo de especificaciones de
Pub. Sólo recuerda, lo primero
importante es esta versión. Y ahora mismo no lo vamos a usar. Solo lo usarás
cuando estés publicando tu aplicación en cualquier Android o App Store, Apple App Store. En segundo lugar, esta carpeta
de dependencias. Ahora podrías estar preguntándome, ¿qué es esta dependencia? Si tienes algún paquete
externo, nuestro plugin para implementar en la aplicación de inundación
año, usamos esta cosa de dependencias. Y cuando
te digo paquete externo, para eso, tienes un
sitio web llamado pub sordo. Simplemente puedes ver es un gestor de paquetes para aplicación
Flutter. Aquí obtendrás una gran cantidad de
paquetes y todo. Ver parte del analizador, Selector de números de inicio de sesión de
Google y asisto. Por lo que esto te ayudará a construir
la aplicación muy rápido, y definitivamente
tienes que usarla. Por lo que sólo iré a buscar. Supongamos HTTP. Entonces tienes esta biblioteca STDP. Simplemente vete. Y sus dependencias, solo
tienes que
copiarlo así y pegarlo abajo, así y guardar. Pero ahora mismo no lo estamos haciendo
porque esto depende. Entonces subunidad usamos en la actualidad, al
menos quiero
mostrarte cuál es este activo y Pub
spec dot archivo YAML. Y cuáles son
las dependencias externas que usarás extensamente más adelante cuando estemos
construyendo una aplicación de
datos intermedios. Espero que hayan
entendido los conceptos. Gracias.
5. Widget de texto y Scaffold: Entonces ahora es el momento
en esta sesión, entraremos directamente en
el concepto de aleteo. Es decir, tenemos que tener las
manos sucias
escribiendo código nosotros mismos. Saca tu código VS y
simplemente ve a Main.Jack. Ahora, lo que tienes que hacer es
simplemente ir y eliminar todo ese código excepto
la función principal. Al igual que esto, simplemente
eliminamos todo el código. Y en el archivo main.js, que es el punto de entrada, simplemente
tienes que escribir mi app, material app y luego
titular mi primera app. Y luego a casa. Eso es todo. Por lo que hemos importado el paquete de
materiales en la parte superior porque los
estaremos utilizando
Material Design rich, desarrollado por Google, el diseño de materiales de
Android. Para iOS, tienes un, también
puedes usar el paquete
Cupertino, pero solo funciona en el sistema Mac. ¿ Te dirás que necesitarás un dispositivo iOS para
que se vea bien. Pero la mayoría de las veces
estarás usando el Diseño de Material y
solo usas algunos iOS. Los botones también son elementos
si quieres en el futuro. Y también puedes ver
estamos implementando deudas de Diseño de
Materiales. Por qué estamos usando la aplicación de
metadatos aquí. Y aplicación material es virgen. Como dije, es el nombre
y luego paréntesis, cual acepta dos propiedades. Ese es el título más rápido
y el segundo es entero. Título es el nombre de su solicitud el cual
se muestra en ese texto, pero es sede. Salga de su solicitud el
momento en que su solicitud
esté en segundo plano. Pero y este hogar es el diseño principal el cual
será visible para el usuario. Por lo que KV tiene nuestra primera aplicación
Flutter. Usted ha entendido hasta ahora, esa es la función principal
es el punto de entrada. Después de eso,
podrías estar preguntándome, ¿qué es esa app run-up corrió? ¿ Eso es culpa? De lo que lo dirás es la vista predeterminada de aleteo
de ejecutar nuestra aplicación. Por lo que sólo hay que
recordarlo porque está predefinido. Predefinido, no podemos hacer
o no podemos cambiarlo. Pero podemos saber
más sobre los widgets, que es el concepto central. Entonces, antes que nada, estaremos
hablando de ese widget de texto. En cualquier aplicación. Definitivamente, hay que poner
algo para que el usuario lo lea. Yo que es su nombre de usuario o lo que son cualquier dato básico
simple. Para eso también, primero
hay que saber qué widget usar con el
fin de imprimir en la pantalla. Antes solíamos escribir la
impresión en ese código oscuro. Porque en ese momento sólo
estábamos imprimiendo en esa consola de depuración,
que no era nada. Fue justo más allá que
los desarrolladores conveniencia. Pero ahora estaremos escribiendo algo que
se mostrará al usuario que
es una aplicación. Entonces texto es ese widget como nombre tolueno y
luego paréntesis. Y en esto, Es excepto lo
primero como una cadena, que es un argumento posicional. Tienes
que recordar esos conceptos oscuros de memoria para asegurarte de que
no te confundas. Pregunta qué es esto, ¿por qué este parámetro se
envía así y no como argumento con nombre? Volveré al argumento de
nombre también. Pero ahora
simplemente tendrías que guardar, luego traer tu emulador
y ejecutar tu aplicación. Y también se puede ver
que testfile es ella porque hemos
quitado las canchas. Lo harás, si quieres, solo
puedes quitar
esta prueba rígida. Por ahora. Porque no lo necesitamos. Ahora de nuevo, solo ejecuta
tu aplicación. Tú, de nuevo, tienes que, Puede que te lleve un tiempo. En la última sesión también, hemos entendido
cómo importar activos. Es por eso que tenemos que tener
se puede vender esa
sesión de depuración esa vez. Si hacemos algún
cambio de núcleo en la app, debemos dejar de depurar
y luego
reiniciarla para que eso sepa qué
cambios hizo su impresión. Yo sólo quiero que ustedes
se familiaricen. Acostúmbrate a este concepto
widget de escritura que es de nombre,
luego paréntesis, luego dentro de los paréntesis I, entonces será un parámetro de nombre
como este título o nombre en un parámetro nacional
como este campo de texto. De nuevo, tomará un
poco mientras hay que esperar. Se está llevando un poco más de tiempo. Se están construyendo al menos nuestros
APKs de depuración. Es un proceso que
consume mucho tiempo. Pero para que pase
algo bueno, tenemos que esperar. Simplemente ignora lo que se
mostraban en
la consola de depuración. No tenemos que
preocuparnos por eso. Pero mira, ahora la salida
estará aquí. Y tenemos una primera aplicación
Predator muy fea. Pero a ver
que hemos sacado con
éxito textos en
la pantalla de la aplicación. Entonces eso significa que si tú, si has publicado
esta aplicación favor hacia todos
los usuarios,
cada vez que el
apéndice, anexará esta aplicación, verán este texto de mi
primera aplicación Flutter. Ahora, podrías estar pensando, esto se ve muy feo. Ese texto está pegado a la parte superior y que estos blancos
para que sea hermoso, estaremos usando
nuestra próxima región. Eso es widget de andamio. Entonces, ¿qué es un andamio? Para cambiar el color de
toda la aplicación o utilizar los botones de barra
AB son
cualquier cosa como navegar, hoja
inferior o cualquier cosa. Utilizamos este widget de andamio. Da un buen aspecto
a tu aplicación. Cuenta con todos los elementos
necesarios. Ahora, sólo vamos
a ir a nuestro código. Simplemente dentro del hogar, quitarás y
escribirás andamio. Este es también un widget que
aceptará y no saber qué
propiedades se acepta. Se puede simplemente controlar
y espacio y ver aquí primero apuntalar mi laboratorio. Estas son todas las
propiedades que acepta. En primer lugar lo harás,
puedes elegir APA. Esta parte, de nuevo,
excepto un widget de aplicación. El lado que Bart widget. De nuevo, haga clic en tipo
Control más espacio. Aquí habrá un montón de propiedades
que uno necesitábamos por dos. Entonces este título aceptará el texto, rocas revoloteadas. Y ahora reinicias. El 21 solo puede Controlar S.
Y ahora ver ese cambio. Ves, se ve muy
bonito que antes. Sólo porque hemos
utilizado un widget de andamio. Eso aquí, lo que sea que estés
viendo que es esta barra AB o esta cosa blanca está dentro por
esta gorra para widget. Ahora esta porción blanca es el cuerpo donde
emitirás lo que quieras mostrar al usuario en
las
primeras propiedades del andamio. Entonces solo irás tras este control de coma y el
espacio y el cuerpo derecho. En el cuerpo tendrás
otro texto el cual nos
dejará clara aplicación. Y otra vez Control S. Así que podría estar pensando que
no se está mostrando nada. Y esa razón es porque ese color de ese texto y la pestaña de color
Fondo es dos. Ahora para cambiar el color de
fondo, simplemente
iría a andamio cada luz. Color de fondo. No tienes que entender
lo que estoy haciendo ahora mismo. Antecedentes, supongo. A ver si reinicié
la aplicación. Está mostrando mi primera deposición de
capa porque era de color vacío. En los próximos videos, entenderemos cómo
cambiar colores como este. Lo hice ahora solo para
mostrarles la salida del cuerpo. Entonces esta cosa roja es stub
body de tu aplicación. Simplemente hay que recordar hasta aquí que APA y cuerpo son propiedad del widget
de andamio. Apa tiene el título como su propiedad, que acepta
widget de texto en lo que va de momento, porque titulo
derecho, puedes tener cualquier widget del cual
discutiremos uno por uno. Si queremos ver otra
propiedad de AB bar, solo
puedes ir por debajo de título
y derecha, centro apriete. Y luego cierto. Se trata una propiedad que en sí dice que
va a centrar ese título. Este título de la barra de la aplicación. Iremos al centro
de tu solicitud. Entonces espero que hayas
disfrutado aprendiendo porque eres capaz de construir una aplicación básica
con letras. Por lo menos tienes algo
en la pantalla ahora mismo, lo cual es muy guay. En el siguiente video,
aprenderemos más sobre widgets
para adultos porque como
dije una y otra vez, aleteo es todo sobre presupuestos. Gracias.
6. Centro y botón de acción flotante: Por lo que seguiremos
explorando otros presupuestos. que pedernal no sabía si
tienes una aplicación de
aspecto muy básico, no aplica solo
una UA con algún texto en ella. El siguiente widget, del
que estaremos hablando es la visita al
centro es una visita muy sencilla y hace
lo que dice su nombre. Se centra hacia abajo cualquier rígido. Entonces si queremos centrar
el texto en el cuerpo, entonces podemos envolver ese texto
dentro de una visita al centro. Para que puedan ver esto, mi replicación plana está en
la parte superior izquierda. Si lo quieres al
centro del cuerpo, que el centro de la pantalla. Sólo tenemos que envolverlo. ¿ Y tú qué,
qué quieres decir con rapt? Si vas,
simplemente puedes ver esta cosa material por dentro,
entonces es andamio. Esta parte de la aplicación se
envuelve debajo del andamio. Este texto está envuelto
dentro de la barra AB. Ahora bien, si quiero usarlo, presupuesto
del centro de texto, solo
puedes irte. Un paso de hacer es simplemente
copiar o cortar el cuidado. Entonces chai centro rígido. Esto es rígido. Después entramos, tenemos una propiedad infantil, y simplemente nos retorcimos. Por lo que esto está envuelto por otro
widget el cual está centrado. Y como checkout nuestra app. Mira, tenemos ese texto dentro
del centro de la pantalla. Sólo recuerda, te
dije que esto era una primera vía y la segunda
fue, solo lo desharé. Segunda forma es simplemente Cu, haga clic en esta bombilla. Piensa que así arregla. Y aquí puedes hacer un widget
y simplemente un centro. Esta es también otra forma de
hacer lo mismo. Porque cuando tenemos
una aplicación más grande, es
imposible que solo
cortemos y peguemos todo el tiempo porque
hay muchas comas, no
son un corchetes involucrados
en nuestra aplicación. Ahora. Así que recuerda,
no podemos simplemente
imprimir directamente cadena dentro de
este centrado, como lo voy a
cortar y ver que
solo puedes escribir directamente
cadena aquí así. No, tienes que usar
propiedad infantil dentro de ese niño. Tienes, y tienes que
usar otro widget, que es el widget de texto. En este momento estamos usando, pero como niño es un tipo de
datos de widget, se
puede ver aquí, si paso el cursor sobre él, eso significa que
aceptará cualquier región. la ley que no hemos aprendido
sobre otros widgets. Por eso solo estoy usando
el widget de texto básico. Por lo que espero que hayan entendido
el widget del centro. Es un widget muy básico. Ahora, el siguiente widget del
que estaremos
hablando es botón de acción flotante. Entonces solo estoy asumiendo que ya conoces la aplicación
WhatsApp. En tu aplicación de WhatsApp, en la parte inferior derecha, verás un
icono en nuestro botón. Ese es el botón de
acción flotante. Por lo que podemos implementar el
botón de acción flotante por la propiedad, por el mismo nombre
que es botón de
acción flotante para andamio visita. A lo que me refiero con eso. Tienes tu andamio. Nosotros lo hicimos aquí. Primera propiedad, acabamos de darle un color de fondo ya que
tenemos que hacerlo rojo. Segunda propiedad fue AB bar. Tercer inmueble fue cuerpo. Ahora tenemos esta coma en. Si voy y controlo un C, hay tantas otras
propiedades está exento. Pero estaremos usando el botón de acción
flotante. Por lo que ese botón de acción flotante
acepta el nombre del widget. Botón de acción flotante. Al igual que esto. Ya puedes verlo ahora tiene botón de acción
flotante. Y tiene que apoyar
esto, que es obligatorio. Primero este niño, y el
segundo está en prensado. Por lo que hijo, sólo
tendremos un simple anuncio de texto. Reiniciaré nuestra guardar nuestra aplicación para que los cambios
se muestren en la interfaz de usuario. En el lado derecho aquí, puedes ver este botón Añadir. Entonces este es un botón de
acción flotante. Ahora mismo, cuando le damos click, no piensa si quieres
ver, solo puedes seguir,
en prensado y solo escribir, imprimir, hola y guardarlo. Ahora si voy y doy clic a la derecha, si voy y doy clic
en nuestro botón Agregar. En la depuración, se puede
ver que hay este hola imprimir, imprimiendo. Pero lo principal es que hay
que entender que esta es la forma de escribir código de una aplicación de
aleteo. Propiedades de engranaje, hay
widgets dentro de widgets. Nuevamente, las propiedades de los datos. Esa propiedad volverá a ser
excepto algún widget. Y entonces esta descomprimida es nuevo la propiedad del botón de acción
flotante. Hay que recordar
dónde comienza, dónde termina, qué
propiedad es qué rígida. Y si todavía estás
consiguiendo países, sólo
me gustaría decir
que ella te diga que asumió que esta es una función. Estamos llamando a una función de botón de acción
flotante y luego enviando dos argumentos
nombre que los humanos. Ese es el primero
excepto guardar widget. Y el segundo
acepta una función. Eso es de nuevo por cada tonta rígida primera letra siempre
se mayúscula. Se puede ver este f, este t, su centro, el andamio S. Así que cada widget tiene fósforo letra
mayúscula, y cada propiedad está aceptando otro
widget como su valor. Por lo que se
trata de un niño de propiedad, acepta texto y todas esas propiedades tienen una estadística
con esta minúscula letras a, B, a, una barra, un botón de acción flotante. Este f, que
es propiedad, este f es letra pequeña. Y en la mayor parte
del widget que la
propiedad infantil se convertirá. Y aquí se puede ver niño, esto también es niño. Por lo que la propiedad infantil
será común. Muchos de dígitos dobles. Si aún te estás
confundiendo, solo te pediré que una pausa por algún tiempo
y solo tratarás
de hacerlo por tu cuenta y hacer
algunos errores para que lo
entiendas adecuadamente. Pero espero que este video haya despejado y te haya dado la información de
dos o más widgets. primero es la visita al centro, y el segundo es el botón de acción
flotante, que discutiremos más
cosas en los próximos videos.
7. Cómo cambiar el color y el estilo: Hey, bienvenido de nuevo. En esta sesión
estaremos aprendiendo a cambiar color y darle estilo
a nuestros elementos. Ahora para cambiar de color de
cualquier elemento como la barra AB v tienen
ciertas propiedades. Tal como en una barra de aplicaciones hay una propiedad
llamada background-color. Ahora generalmente amigables, estamos tratando con otras propiedades. Teníamos el valor de string
o entero, o un widget. Pero ahora, otro caso
es poco diferente. El valor de un color se
retiene mediante el uso del teclado. Vamos a punto y seguido
por el nombre del color. Ahora hagámoslo prácticamente. Ahora cambiaremos el
color de nuestra barra de aplicaciones, iremos y ahora veremos
otras propiedades aquí. Y uno de ellos es de
color de fondo es sólo
colores rectos, oscuro, ámbar. Es uno de los colores. Ahora, revisa nuestra solicitud. Este azul, ¿cambia? Sí, Cambió. Ahora es de color amarillo. Color amarillento. Se puede separar pero es un tono
diferente, definitivamente. Por lo que espero que hayan
entendido que dar descuidado es muy fácil. Estos colores puntan y si ese widget tiene una
propiedad que está aquí, su color de fondo,
en otros límites, puede
haber diferente. Ahora para cambiar el color
del botón de acción flotante, de nuevo, tenemos que ir a comprobar
si hay alguna propiedad. Ahora aquí puedes ver hay una propiedad llamada color de
fondo, y solo escribiremos colores. Dot antes. Ese color era azul. Simplemente lo haré verde. A ver. ¿ Funciona? Espero, sí. Sí, ha cambiado. Por lo que obviamente cuando estés construyendo una
aplicación del mundo real, tendrás diferentes
combinaciones de colores para tu app. Por lo que es
necesario entender eso, qué color usar y cómo
implementar el código de color. Ahora lo siguiente,
lo que tenemos, lo que vamos a hacer es cómo darle estilo
a ese elemento de texto. Así que cambia el color, nuestros regalos, el estilo a un texto. Tenemos que darle una propiedad
de estilo al widget de texto. Por lo que ahora de nuevo, solo puedes leer hay una propiedad
llamada estilo. Vamos al elemento de texto. Este primero es un
argumento posicional que está en 0. El siguiente, veamos aquí. Sí, un estilo texto-alinear la dirección
del texto. Estaré usando propiedad de estilo. Ahora, como mencioné, un texto también aceptamos argumentos
diferentes. Pero esto recuerda la
primera propiedad es vector
posicional v
mencionó el texto real. Y otras propiedades
son argumentos nim, como uno de ellos es apretado. Ahora la propiedad de estilo aceptará otro widget como su valor, que es el widget de cola de
texto de estilo. Entonces aquí sólo tenemos que
escribir estilo de texto. Y dentro de ese fin de semana mencionan que cambia cualquier
propiedad que queramos. Como primero, me
gustaría cambiar ese color. Colores, azul oscuro. ver Vamos a ver aquí. ¿ Cambia? Sí. Además, me gustaría quitar
este fondo de color rojo. No se ve bien. Entonces ya está hecho. Está bien. Ahora, entonces siguiente propiedad que
estaremos usando es el tamaño de fuente. Ahora cambiemos nuestro tamaño
de fuente a 30. Lo sentimos, tamaño de fuente,
debería ser divertido. Dice, sí,
acepta un entero, podemos decir valor W. Entonces mira, el
tamaño de la fuente ha cambiado. Siguiente propiedad que
usaremos es su estilo de fuente. Y habrá estilo de fuente,
cursiva, y normal. Entonces, ¿qué es esta cursiva? Espero
que sepan que sólo le dará posición inclinada. Aquí. ¿Ves esto? Y, y ni staling
que usamos es font-weight. Fuente con sondeo de puntos. Simplemente tendrá un aspecto
más audaz. Ver. Entonces así es como hacemos estilismo
a nuestro elemento de texto. Sí, recuerda, también están
sus propiedades. Aquí solo puedes
consultar su fondo,
fondo, color,
decoración, fuente,
familia, altura, espaciado entre letras, espaciado entre
palabras, sombras. Entonces si quieres,
puedes usar todos esos. Pero es muy el Pacífico de Estados Unidos si
queremos usarlo o no. Pero generalmente en la mayoría de las demás
obligaciones estarás usando tamaño de fuente de
color
y el peso de la fuente. Además, si quieres asegurarte que el texto esté resaltado,
puedes decirlo. Entonces. Espero que hayas entendido ese concepto de cambiar de
color y estilo. Eso es todo para esta sesión, aprenderemos más sobre
widgets en los próximos videos.
8. Qué es Widget anónimo: Hola, Esta sesión
es muy importante porque estaremos discutiendo
qué es región apátrida. Entonces hasta ahora, estábamos escribiendo código sólo en nuestra función
principal. Pero este no es
ese caso cuando
creemos la obligación, nos
atrevemos, definitivamente tenemos que
separar nuestro código en trozos
más pequeños y
usarlos donde sea necesario. Podemos crear nuestro propio widget, que continuará en
los otros widgets que contiene. ¿ Qué tipos de widgets de
compilación personalizados son región sin estado
y con estado? Ahora mismo, solo tienes que
enfocarte en el estado menos rígido. Definitivamente nos
volveremos preocupando a la otra región en
los videos posteriores. Entonces aquí puedes
ver podemos crear una región apátrida extendiendo nuestra clase a región apátrida y tener una
implementación mínima de cerveza como esta. Entonces este es un
código muy básico de un widget sin estado. Vamos a entrar ahí significa archivo, Vamos a tener un nuevo archivo
llamado home dot. Entonces ahora aquí puedes simplemente
primero lo que tienes que hacer es tener que importar un paquete de
material. Entonces puedes tener pantalla de inicio de
clase, que se extiende región
apátrida C. ¿De acuerdo? Entonces aquí está hecho. Ahora simplemente tienes que ir
y hacer clic en esta bombilla. Se puede ver que faltan
11 anulación. Si le das click, te dará esta cosa. Entonces aquí sólo tienes que
devolver algo. Yo sólo regresaré
este andamio aquí. Entonces vea nuestra primera pantalla, es
decir, la pantalla de inicio está escrita, que es una región apátrida. Entonces podrías estar preguntándome, Vale, pero ¿qué significa exactamente el
widget de estado? Así que simplemente recuerda que los datos dentro de un
widget sin estado no
se pueden cambiar después de
que se está renderizando. Supongamos que queremos que después
de hacer clic en
el botón, se cambie el color del texto. Esto no es posible en lectura
apátrida
porque ese color, es
decir el verde, se renderiza. Es entonces cuando anexamos nuestra solicitud,
se está renderizando. Entonces en un apátrida
realmente, no es posible
cambiar el color. Posteriormente. Es como si no
hiciéramos click en Usuario hacer algo de Harvard
o lo que sea. Si el usuario interactúa con él, entonces para ese tipo de cosas, debes tener un widget con estado. Pero comprenderás la diferencia entre
ambos lentamente. Ahora, aquí, cualquier nombre que sea, este es un widget sin estado. Hay un nombre del widget, y tiene que evitar la
función llamada buildup, que devuelve un widget
como tipo de retorno. Y este widget significa que
esto puede ser andamio, esto puede ser contenedor, esto puede ser botón, esto puede ser icono. Por lo que no es como el widget
apátrida siempre
es una pantalla completa. También se puede configurar, pero también es parte separada
de códigos. No hay necesidad de tomar
tanto estrés en la actualidad. Sólo tienes que
ir con el flujo. Entonces ahora veamos. Implementa, Vamos a implementar
hace fecha menos widget. Ahora, este concepto, entonces lo que
tienes que hacer es simplemente ir a esto y cortar este andamio
y pegarlo aquí. Ahora, dentro de estos hogares, ¿
Se puede simplemente tener que
escribir pantalla de hogares? Y en ese top, hay
que importar esa
pantalla por así. Ahora, si reinicio de nuevo, verás que nada
ha cambiado. Pero tenemos nuestra pantalla de inicio en un archivo separado el cual
existía menos rígido. Y a lo que me refiero con apátrida, me gustaría
explicarlo de nuevo. Ese es este color
del texto que es azul no se cambiará si traté de
hacer clic en él en este anuncio. Simplemente, este es el significado
de un widget sin estado. Ahora si quiero
cambiar ese color de este ámbar para dejar
decir qué otra vez? Verde, digamos azul. Ves, esto es, ya sabes, y si ves ahora Control S Hot Reload
está funcionando perfectamente. Y no fue porque
escribimos todo
en el No.5 principal. No como esta rígida. Pero ahora cuando
presionamos en Control S, esta función de proyecto de ley se está
rendiendo de nuevo. Se llama y se
renderiza de nuevo. Mi primera carta proyecto todos los
días y acaba de golpear Control S. Ver, está funcionando perfectamente. Entonces ahora es por eso que campana
Hot Reload funcionará. Ahora capas podrías estar
pensando por qué no
funciona sólo porque no nos
hemos separado en widget apátrida
y con estado. Porque en ese momento en que
Lee que funcionará
será recordado y se harán los
cambios. Entonces espero que hayan entendido el concepto de widget apátrida,
apátrida. Y somos capaces de separar tu código de un archivo
a múltiples hallazgos. Más sobre esto,
definitivamente aprenderemos cuándo
estaremos construyendo
algunos proyectos básicos. Pero ahora mismo, tanto
conocimiento es suficiente.
9. Activo y imagen de red: hoy aprenderemos a mostrar una imagen en
nuestra aplicación. Entonces hasta ahora
solo estábamos mostrando texto, pero la aplicación real
definitivamente va a contenido imágenes. Por lo que ahora hay dos
tipos de imágenes. En su mayoría. Esa es una imagen
de red y la
otra es una imagen de conjunto. Ahora imagen de red, cuando la
pecamos por imagen, significa que la imagen
vendrá de internet. Es decir, no estamos
hospedando esa imagen o no estamos almacenando esa
imagen en nuestro código de aleteo. Por lo que tenemos, debemos tener en URL de la imagen para
poder mostrarla. En primer lugar, saca tu navegador y solo
escribe cualquier imagen de Google, lo
quieres como logo aleteo. Entonces tengo tantas imágenes, tengo tantas imágenes, solo
elegiré esta imagen y escribiré
copia dirección de imagen. Ahora aquí puedes ver esta
sintaxis de imagen de red es image.network. Entonces dentro de eso tenemos que
pegar la URL. Vámonos. Ahora en el centro, eliminaré este texto e image.net y simplemente lo
pegaré aquí así. A ver. ¿Podemos mostrar
la imagen o está mostrando, sí, ver, esta es la
primera vez que estamos usando una imagen real
en nuestra aplicación. Y fue mucho fácil. este momento, eliminamos
que son textos en capas rígidos porque no podemos pasar dos widgets directamente
dentro del niño. Este problema definitivamente se
resolverá en los videos posteriores donde
discutiremos sobre el
widget que nosotros, que podemos usar para
mostrar múltiples, para mostrar múltiples widgets
en nuestra aplicación. Ahora bien, hay algunas
propiedades también, como aquí se puede ver altura. Entonces altura, podemos dar, si reduzca la
altura inmediatamente, muy poco, muy pequeña. Si lo cambio. Ver así. Es así como trabajamos
con imágenes de red. Ahora lo otro
es una imagen de activo para insertar una imagen que
ya está presente en tu sistema. Por lo general lo que hacemos
es hacerte caer dejar imágenes en
directorio raíz como este aquí hemos hecho activos y
dijimos que hicimos
directorio de imágenes antes porque es estructura de carpetas
muy limpia para hacer. Ahora pegamos un archivo
dentro muerto así. Tengo esta imagen archivo PNG de
6 puntos. siguiente paso es darle CO2 Pub spec dot HTML y descomentar la sección de activos que ya
no
nos gustó esto. Consulte esta sección de activos. Tenemos sin comentarios. Se asegura de sangría o de lo contrario se
mostrará agregado, lo que significa. Y este expediente es muy sensible. Por lo que tienes que asegurarte no dar ningún
espacio extra ni pestañas en él. Sólo tenía que escribir
así ácidos. Ahora, sabrá que dentro de
nuestros activos imágenes ahí. Seremos archivos más antiguos. Además, puedes escribir tu ubicación del directorio de
imágenes con o sin el nombre de la imagen. Es decir, si no mencionamos el nombre de la imagen así en entonces diré que es
correcto porque Vince sube todas
las imágenes en ella. Ahora, al seleccionar cómo insertar una imagen de activo antes
para la imagen de red, simplemente
nos asombramos a
esa red. Ahora vamos a hacer conjunto de puntos de
imagen, imagen, conjunto de puntos así. Entonces solo diremos
sets, luego imágenes. Entonces, ¿cuál es el
nombre del expediente? Emite PNG de 6 puntos. 6 puntos PNG. Y ahora veamos, ¿funciona? Ver, tenemos nuestro archivo de
activos subido, es
decir, nuestra
aplicación insignia, sabría de qué archivo
estamos hablando. Y esto no
viene de Internet. Ahora, podemos cambiar algunas
propiedades como altura del lago, podemos dar un 100 C como este. Con también podemos cambiar. Estas son las otras propiedades
que puedes cambiar. Pero ahora mismo no queremos. Por lo general, la altura está bien. Suponemos 150 años. Bueno, se ve bien. Por lo que es muy importante
entender esa diferencia entre el
activo, la imagen de red, porque en tu aplicación
del mundo real, estarás jugando con
imágenes todo ese tiempo. Toda aplicación tiene algún
tipo de imagen en ellos. O es una imagen ácida
como el logo de apps, logo. No cambiará fácilmente. Por lo que sólo podemos
enviárselo en nuestro código. Y la disponibilidad, algo así como la imagen de perfil de un usuario. Estará viniendo de
la base de datos porque el usuario lo cambiará,
haciéndolo con frecuencia. Esa es la diferencia. Eso es todo por hoy. En los próximos videos, estaremos hablando algunos otros widgets continuando
nuestra sesión así. Gracias.
10. Icon y botón: Ahora es el momento de
conocer otros presupuestos, como la visita Icon. Florida viene
cargada de toneladas de iconos los cuales se pueden utilizar para hacer
nuestra app más hermosa. Si ves alguna aplicación, ya sea a través de
Facebook, Instagram, WhatsApp del mismo, definitivamente
verás algún tipo de
iconos porque lo es, es muy agradable a la vista. Las personas pueden
relacionarse directamente con ese icono. Ahora bien, la sintaxis es muy simple. En primer lugar tenemos que escribir icono. Y dentro de eso, v no puede simplemente escribir directamente
el nombre del icono. Tenemos que escribir como
iconos dot cualquier nombre de icono. Supongamos que puedo iniciar usuario, puedo iniciar alarma, lo que sea. Vamos a probarlo. Voy a quitar a ese
niño de la imagen. Ahora. Simplemente diré ícono y luego
puedo iniciar el exceso de alarma. Ahora simplemente lo
guardaré y verás nuestro icono se muestra en la pantalla y
es mucho fácil. Ahora, como cualquier otro
widget V usado, definitivamente, podemos cambiar su color y pocas
propiedades también. Ahora para cambiar el color, solo
diremos coma
y luego veremos color, rueda, colores, naranja. Y luego tamaño. Escribiré a un 100. Ahora ves que es de tamaño
mucho más grande que he
dado a un borde solo para
mostrarte que podemos cambiar sus
propiedades del ícono. Y la cosa es que
no es que podamos usar icono sólo en ese cuerpo. Ahora, yo, si quiero en el botón de acción
flotante, solo
puedo escribir
icono y luego iconos, ese mensaje ahí dentro. Botón de acción flotante. Ver. Por lo que ahora puedes
compararlo con el WhatsApp. App Whatsapp tiene también este
tipo de yo puedo terminar en ellos. Y se ve muy bien. Tengo que decir después
del botón de icono, hay otro widget, que es la región de botones. Por lo que sin botón, cualquier aplicación es inútil. Debido a que los botones están ahí
en plomo para dar una retroalimentación, están tomando comentarios
del usuario. Es decir, si dice
codones flejados Agregar al carrito. Y si es algún formulario, entonces hay que
enviar el formulario. Si alguna otra, si dos karma, si tienes alguna edición en tu, si has usado
alguna aplicación, podrías haber encontrado
muchos botones. Por lo que en aleteado hay
tres tipos de Botón, Texto, botón, botón elevado, y puedo ponerlos. Vamos a entenderlo uno por uno. Entonces, ¿qué es este libro de texto? Por lo que en este botón de texto, no
habrá alivio. Nuestro efecto 3D como este, si tan solo elimino el icono
aquí y escribo texto. Pero entonces primero la
propiedad es obligatoria, es ese niño, es decir, qué deberíamos
dentro de ese botón, simplemente
voy a hacer clic
derecho conmigo. Y el segundo obligatorio
está en las precedidas. ¿ Qué debe pasar cuando un
usuario hace clic en este botón? Entonces mira, este es un botón de texto. No hay color de fondo ni alivio o es
solo texto simple. Es por eso que su nombre es éste. Ahora, si de verdad quieres cambiar o darle estilo a nuestro
botón, puedes hacerlo. Pero no creo que sea tanto necesariamente
porque si quieres hacer estado hay otro pero la densidad es
elevada pero un animal. Pero sólo
te mostraré cómo cambiar
su estilo también. Si ves la propiedad del azulejo
y aceptará, si es un texto,
pero aceptará textos, pero luego estilo de punto desde y dentro que
simplemente puedes escribir primaria, ese es ese color del
fondo y esta naranja. Ve que el color ha cambiado. Entonces si quieres, puedes dar algo de relleno. Insets de borde, áreas, ¿verdad? Simplemente 10. Para el relleno definitivamente, no
se está mostrando en este momento. Podemos agregar color de fondo, fondo negro si
realmente quieres este color. Porque por lo general ¿qué pasa si realmente quieres
este tipo de botones? Irás directamente a subir
botón porque
te da estas características
automáticamente. Pero está bien. Entonces. ¿Alguna otra cosa importante? Yo no lo creo. Es tan importante. No. Es así como se
muestra un botón de texto. Y si de verdad quieres, puedes darle estilo como usando textos, pero estilo de 10 puntos desde y luego dar propiedades diferentes,
diferentes. Ahora, solo recuerda
si elimino este estilo. Este es un botón de texto básico. Pero, ¿qué pasa si
uso un botón elevado? Si simplemente, la sintaxis es la misma. Si simplemente escribo
un botón limitado aquí, entonces ves el color de fondo es su color de texto es blanco y algún alivio es
giro dado que es, se da
algún efecto 3D. Entonces es por eso que
usamos el botón elevado, porque es muy útil de usar. Ahora, de nuevo, si quieres, puedes peinarlo como aquí. Tenemos un estilo limitado pero
luego punto de y primaria se hará
background-color. Let significa éste. En botón de texto. Es decir, era ese color de texto, pero aquí está el color de
fondo. Ahora bien, si quieres alivio, sólo
puedes darle cinco. Se puede ver algo más efecto
3D está ahí. Si desea cambiar el relleno, puede cambiar los insertos de borde. Cuando T C, Esto es
relleno también se hace. Ahora si quieres cambiar de forma. También puedes hacer eso usando un borde rectangular
redondeado. Y luego punto
fronterizo de radio. En un punto de radio de frontera. Y puedes usar en años ese circular como
a1 desde todos los lados, circular, radio punto conjunto de
polar y dar diez aquí. A ver, si doy dos en D, te darás cuenta más. Esta forma está siendo cambiada por este show por
eso ADS que hemos dado. Y aquí, estilismo los
has entendido. Y esta in premise
simplemente lo que debería pasar cuando un usuario
presionó sobre él botón. Entonces escribo tiempo, solo imprimiendo. Pero generalmente haces algún tipo de actividad aquí, ver así. Entonces hasta ahora hemos
discutido textos, pero luego un botón elevado. El tipo final de botón
es el botón de icono. Entonces simplemente lo que hace, es una especie de icono que
podemos presionar y hacer algo. Y acabamos de quitar el código anterior y
simplemente planteamos que puedo. Pero luego en la prensa estará
ahí en botones más antiguos. Y en ícono. Ya te
he enseñado a mostrar cualquier icono. Este ícono aquí, checkout. Ahora esto es un ícono,
pero puedes hacer clic en él. Puedes hacer clic aquí. Ahora puedes descubrir, comprobar qué otras
propiedades acepta, como los colores, el acento azul. Entonces puedo decir es que se
puede dar un 100. Ves, se ve tan bien. Y si hay algo más, color
salpicaduras,
podrías estar pensando, ¿cuál es el color de salpicaduras? A ver. Ver. Si hago click en él. Este es el color de salpicaduras. Y de igual manera tiene en prensa
que simplemente imprimiré. Yo puedo. Pero luego ver en la
depuración se puede decir botón Can. Por lo que hemos
cubierto con éxito todos los tres botones. Eso es un botón de texto elevado
pero un botón de icono NDA. Y también cómo usar iconos
en nuestra aplicación de aleteo. En este botón de icono, solo recuerda,
propiedad infantil no está ahí. Aquí. Puedo propiedades ahí el
cual acepta un icono. Y en Alda botones que
en prensado es obligatorio. Entonces hay que mencionar
lo que debería pasar si alguien hace clic en él
porque como es un botón, hay que saber qué
debe pasar después de eso. Entonces eso es todo. Espero que estés disfrutando del curso y aprendiendo
más sobre diferentes, diferentes tipos de widgets. Nos vemos en el siguiente video.
11. Widget de envase: En esta sesión estaremos hablando de widget contenedor. Entonces, ¿qué es un contenedor? Un contenedor solo
envuelve su presupuesto. Entonces si estás familiarizado con el concepto de div
en desarrollo web, entonces funciona igual que eso. Utilizamos este widget
para que podamos dar margen en alineación con y muchas otras propiedades a ese elemento son los dos widget dentro de él. Entonces solo piénsalo como
un envoltorio que se
usará para manipular
los otros widgets. Entonces, ¿cuál es la sintaxis? Su sintaxis es muy sencilla. Al igual que esto. Contenedor
es el nombre del presupuesto y las mentas infantiles lo que debería
haber dentro de ese contenedor. Entonces, está bien, empecemos. Simplemente vería mover este código anterior y tener un widget contenedor aquí. En el niño. Tendré que decks
region en primer lugar. Entonces será así. Y no esto. Es como coquetear es impresionante. Vamos a guardarlo. Vamos a ver aquí. Entonces puedes ver que el
texto está ahí, pero no hay nada
como si ni siquiera te cuenta de que ha sido envuelto
dentro de un widget de contenedor. Entonces lo que tenemos que hacer si
quieres ver ese contenedor, la primera propiedad que puedes
usar es esa propiedad de color. Los colores comienzan a temer. Ya
sabes usar color non. Ver. Entonces ahora se puede ver qué es esto, esta cosa roja es
ese contenedor, se
puede decir
como caja también en este momento. Por lo que este es el contenedor y tiene propiedades
diferentes, diferentes. Primera propiedad, primeros dos, usamos niño y color. Ahora veamos qué es el
relleno y el margen. ¿ De acuerdo? Por lo que el relleno y el
margen se utilizan para dar espaciado entre
los elementos. Entonces, ¿qué es un relleno? relleno es el espacio interior, lo que significa que puedes ver este
impresionante II y la caja, y eso está aquí, cosa roja. Se está extendiendo lo de la perspicacia. Y la cosa roja termina azul. Eso es lo de afuera, lo de
afuera es margen. Vela con el ejemplo y
simplemente le damos propiedad de
relleno, relleno y acepta
un valor como insets de borde. Después, después de, después de decir
si haces clic en dot-dot-dot, entonces tendrás otra la
opción Eso es todo de izquierda, derecha, izquierda, arriba, derecha, abajo en Lee simétrico. Por simplicidad, estaré usando todo lo que es
del sitio más antiguo. Yo le daré 20. Ahora ya ves, ve desde la
perspectiva que esto, esto, y esto, Este es
el relleno y se ve compatiblemente
mejor que antes. Entonces esto es lo del relleno. Y lo que estaba diciendo es la siguiente propiedad que
es margen y fusión, es ese espaciamiento fuera de eso, ya sea aquí, aquí están
la parte superior y la izquierda aquí. Entonces si voy a margen y otra vez marginal
así acepta valores, bordes insets, y por todo
eso, voy a dar 20. Por lo que ahora sabrás
esa diferencia. Ver desde afuera aquí
sacas esta cosa del margen. También puedes leer aquí. El margen es el espacio
exterior y el relleno. La edad es el espacio dentro. Que propiedades también están
ahí, como ancho. Si hago clic en esperar y
le doy un valor de suponga AT, entonces ver que se encoge. Si doy un día. Es así. Si llego a
ella, irá más allá. Entonces estos son los contenedores
dentro si no cedo ningún camino. Tomará lo que sea que
esté dentro de él. Ahí hay un texto y
que sólo somos. Ahora. Hay otra propiedad que se encuentra dentro del contenedor,
que es la alineación. Y lo tiene excepto alineación de
Sibelius. Supongamos arriba izquierda,
arriba izquierda, arriba derecha. Ver ahora tengo que dar una tasa de 250 y una altura de 50, 58 años. Es menos después de que te hayas comido D. El alineamiento. Ahora mismo. El asunto es que no hay
otro elemento, es sólo este elemento está aquí. Entonces por eso la alineación no
está funcionando
porque la altura o la posición es de este lado
es y esta cantidad área solamente. Si lo acabo de quitar en C
ahora toma toda la pantalla. Eso es lo que
tenemos que asignar primero la altura y el peso
del contenedor de todo lo que estaban
envolviendo en su interior. Entonces sólo la envoltura. Esta alineación funcionará. En los próximos videos
cuando estaremos construyendo alguna aplicación más agradable. Entonces te enseñaré esta alineación y cuándo
usar el código de alineación. Porque ahora mismo
podrías estar pensando, No, esto no está funcionando. ¿ Por qué no funciona? Podríamos tener
demasiadas preguntas. Y esa propiedad es declaración
del widget contenedor, que exceptúa la
decoración de cajas como su valor. Ahora dentro de la decoración de caja, puedes darle una forma también. Forma de caja, círculo. Decoración interior de caja. Ve cuándo estás
usando la decoración de cajas. El caso es que estos también
tienen una propiedad de color, por lo que no se puede dar
múltiples colores. En ese caso, hay que
dar mencionado esa
propiedad de color dentro de la decoración de caja. Y volveré a
dar relleno para que el círculo se vea
un poco más bonito, está dentro de él. Ahora, no hicimos la decoración de cajas. Ahí hay color, borde,
borde radio, sombra de caja. Por lo que estas propiedades también
puedes utilizar para decorar tu contenedor, lo cual es muy específico
a tu necesidad. Entonces si lo necesitas, solo
puedes probarlo
por tu cuenta también. Por lo que en los próximos videos, estaremos hablando las últimas visitas que
quedan por discutir. Gracias.
12. Widget de TextField: hoy estaremos discutiendo
sobre TextField virgen. Por lo que los textos permiten al
usuario ingresar texto. O contratamos muy kibble están dentro del
teclado en pantalla. Entonces es, básicamente nos
permite recolectar
información del usuario. Si tienes uso de alguna aplicación
móvil, sabes que el texto es la
columna vertebral de la aplicación de la deuda. Ahora, lo que esta sintaxis, es sintaxis muy básica
del campo de texto TXT. Entonces como usted lo hará
nuestro paréntesis. Probémoslo en su cuerpo. Voy a quitar el
contenedor anterior y tenerlo texto, campo de texto. Aquí. Si lo guardo, entonces dirás
esto, esta línea. Y si hago clic en él, tenemos nuestro teclado. Puedo escribir lo que quiera. Pero la cosa es que este campo de texto no se ve
ni le dice nada al usuario. El usuario ni siquiera sabrá
qué escribir en él. Entonces para eso, tenemos que usar algunas otras
propiedades en su interior,
que son como decoración. Decoración, y
acepta declaración de entrada es su valor. Dentro de eso. Aquí verás
muchas opciones. Usaré pista o textos
etiquetados primero. Ahora bien, si pasas el cursor sobre
él, acepta directamente
cadena, no un widget. Entonces sólo podemos decir
bien, nombre así. Y ya puedes ver ahora se ve hasta poco por 10
porque cuando hacemos clic en él, sabemos lo que tenemos
que escribir en él. Ahora hay,
aparte de textos etiquetados, hay muchos otros
como contador fronterizo enable,
enable it is, si
esto falla
se debe desactivar para
ese momento o no. Textos de pista es
igual y nombre completo, por favor. Y si guardo. Ahora en ese texto, ¿
podrán ver esta pista. Es decir tenemos que
escribir nuestro nombre completo. Por lo que al menos podemos
dar algunos datos ficticios son alguna pista para el usuario
sobre lo que tiene que escribir. Ahora, otra cosa que puedes
tener es un icono de prefijo. Los iconos dan algo visual. puede decir visualmente parece bueno cuando estamos
usando un que puedo ver ahora, este texto se ve
comparativamente mejor. Con este pequeño icono en vivo. Hay algo
más como frontera, que podemos obtener borde de entrada de
contorno. Ahora. Ahora no puedes
verlo correctamente. ¿ Haré qué? Simplemente lo envolveré alrededor del contenedor que ya
acabamos aprender y darle un
margen de filo. Insets. 20. Ves, esta frontera se
ve tan bien. Y así luciendo más agradable. Y si doy entrada
borde punto ninguno, entonces todo el
borde es C movido. Pero usualmente me gusta este
contorno en polvo de puesta. Ahora bien, podrías estar pensando solo estas muchas propiedades ya
están ahí. Por lo que hay un montón de propiedades que definitivamente
discutiremos adecuadamente. Porque sin un campo de texto, no
podremos
construir ninguna aplicación. Maxlength simplemente nos dice
que el nombre no debería, debería tener
caracteres Dan iniluminados en él. No más que eso. Se puede usar cuando
estamos usando una contraseña, son cualquier número de teléfono, debe ser tener un
número específico de dígitos en ella. No más que eso. Y ahora, ahora mismo vamos a ver a la propiedad onchange obtener mucho que está
onsubmit otro, pero en cambio significa que
le da una función
que nos da un valor cualquiera que sea
su campo de texto de retorno. Imprimiremos ese valor en nuestra consola de depuración. Ahora. Sólo tenemos aleteo. Ver. Ahora con este
valor, si lo desea, podemos asignarlo
a una variable y luego usar esa variable
en cualquier lugar que queramos. Depende de nosotros lo que
queremos hacer. Pero definitivamente TextField
tiene una regla importante. Y más al respecto
discutiremos en el siguiente módulo. Gracias.
13. Columna y fila: En esta sesión
estaremos
hablando de un widget muy importante. Por lo que estaremos
hablando de dos widgets. El primer widget es
el presupuesto de la columna. Entonces si te has dado cuenta hasta ahora, apenas
estábamos dando salida a
un widget en ese momento. Pero no está sucediendo
en aplicación real. Una pantalla contiene
múltiples widgets, como textos imaginados,
pero un en conjunto. Entonces para ese propósito, se utiliza
un widget de columna porque ayuda a generar
widgets en dirección vertical, es
decir, de arriba a abajo. Es por eso que Su nombre es columna. La sintaxis es muy simple. Tenemos que solo
seleccionar nombre de columna. Es decir, el
nombre rígido es columna. Pero aquí, una cosa se cambia ahora porque vivo con cada widget que estábamos
usando propiedad infantil. Pero aquí son niños. Y simplemente porque
estaremos dando salida a
múltiples widgets. Y por eso
es teléfono plural. Entonces sí, saca a
tu editor de texto. Y yo sólo terminaré cuerpo. Simplemente veré mover el código
anterior y la columna nocturna. Entonces aquí serán niños. Niños. Nosotros insulina que sólo escanea derecho de arriba a abajo qué
elementos desea imprimir. Voy a sólo ese primer
alto V, estoy aprendiendo. Aleteo. Entonces siguiente widget,
puedes usar el botón elevado. En ese niño podemos
tener texto de someter. Ahorremos y veamos. Ver. Por primera vez
pudimos
imprimir dos widgets al
mismo tiempo, índices cuerpo. Entonces este es el uso del widget de columna si quieres
después de la eliminada, pero luego puedes
usar el conjunto de puntos de imagen, luego establece imágenes,
imagen seis, PNG. Aquí ya tenemos, tenemos esta imagen aquí. Ver. Ahora tenemos tres
elementos en la piel. Primero es un widget de texto, segundo es un elevado, pero luego, y ese
tercero es la imagen. Por lo que ahora aquí se puede ver
en la sección de notas, se está utilizando a
los niños. En lugar de un niño. Todos los elementos están separados
por una coma porque decía simplemente Es una lista
de widgets, es decir Y. Y cada widget es el orden de ese
widget es será el mismo cómo lo escribes aquí. No esta imagen se está
imprimiendo de arriba a abajo. Dead es otro
widget que
te ayuda a imprimir un objeto
de izquierda a derecha. Por lo que el rho también es igual que la columna. Ayuda a generar
múltiples widgets, pero una fila ayuda a generar widgets en dirección
horizontal. Y solo cambiaremos primero
la altura y el peso. Es demasiado grande. El peso será un 100. Mira, ahora está
mirando el fregadero. La sintaxis es la misma. Simplemente cambiaré esta fila. Por lo que esta columna para remar y guardar. Ahora esta
cosa horizontal se vuelve vertical. Por lo que este es un elemento muy
importante porque cuando estás
construyendo una interfaz de usuario completa, cada pantalla de
Getty
estarás usando ya sea
una fila o una columna. Combinación de ambos. Row tiene otra propiedad que es eje principal alineaciones deuda. Es así como se deben
mostrar
los elementos en la pantalla. Entonces si escribimos el espacio de manera uniforme, visto desde la izquierda, izquierda en todas partes, todo ese
espaciado de espacios es igual. Y si escribo espacio entre, espacio entre, entonces c es el lado extremo
izquierdo y extremo. El espaciado no está ahí. Y también hay centro. Todo se
unirá en el centro. Por lo que el
hecho interesante es en fila y columna puerto tener este principal
salidas y cruce existente. La única diferencia es
que hay que recordar cuando dice dibujar los
accesos principales de izquierda a derecha. Y eje transversal será
de arriba a abajo. Es decir, si cruzo la cruz de
x existe alineación,
eso está centrado. Yo no lo creo.
De verdad en este momento, porque el elemento
ya está en el centro, porque esto está tomando
sólo tanto espacio, no toda la pantalla. Por eso no
se ha enviado al centro. Pero el éxito cruzado
para una fila significa de arriba a abajo y
existe principal es de izquierda a derecha. Y de manera similar en una columna, el eje principal es de arriba a abajo y el
eje transversal es de izquierda a derecha. Entonces tienes que practicar solo tu cuenta y tratar de
entender lo que acabo de decir. Porque el concepto
es muy sencillo. Columna y fila estamos, solo lo
estamos usando para dar salida a múltiples elementos en
una dirección determinada. Y también podemos usar una columna dentro de una fila y
una fila dentro de la columna. Y con eso, con la
ayuda de esos y Lee, podrás
construir una UI completa. Gracias. Por lo que en la próxima sesión, estaremos hablando otro widget que
es muy importante y que nos ayudará a hacer salida de
múltiples elementos también. Gracias.
14. ListTile y ListView: En esta sesión de visitas
exploradoras, estaremos hablando de
cuál es nuestro estilo de lista y qué es el widget ListView. Por lo que un estilo de lista es una sola
fila que normalmente contiene X, contiene algo de texto así
como
icono al principio o al final de la imagen solo
se puede entender que cómo, qué es un estilo de lista
y cómo se ve. Es algunos puede que sea algo
similar a la UI a menudo lo que espero que te ame, tienes una cuenta de WhatsApp
y
te resultan muy familiares a eso. Entonces, ¿cuál es la sintaxis? Es simplemente su azulejo. Entonces estas son las
propiedades que acepta. Menos pruébalo por nuestra cuenta primero. Simplemente tendré un azulejo
de lista al principio. Entonces en el título, tendré texto de
Elon Musk. Vamos a ahorrar. Ver. Entonces es lo que dice fila
tipo de cosa horizontal. Entonces el otro elemento, que otra propiedad
usaré se subtitula yendo a la luna. subtítulo es solo Seton, tiene una fuente más pequeña y su color por defecto es
algo en algún lugar cangrejo de río. Entonces otra
propiedad está liderando, eso es lo que debería
ser un frente duff. Estaré usando un ícono aquí. Y puedo empezar por el círculo de conteo. Y le vamos a dar
el color de los colores, azul y talla para t Vamos a probarlo. Ves, esto es lo que estaba diciendo. Este es el icono principal. Y ahora otra propiedad, muchas propiedades, pero una más importante
es el trailing. Eso es lo que debería
ser al final. Tendré un elevado
pero diez supongan. Y sólo lo tendrá texto
de lo que debería ser el texto. No es buena idea
usar un botón como este. En ese trailing. Simplemente tendré un ícono. Pero entonces si quiero, entonces en el ícono, tendré, puedo empezar retrasado. Ver tenemos un ícono aquí. El trailing significa el final
de la cosa horizontal, el viento conducente,
el elemento frontal. Y la última
propiedad importante es el destapar. Es decir, lo que debería pasar. ¿ Cuál debería haber sido si el
usuario hace clic en este azulejo. Por lo que en la consola se acaba de ver, voy a dar clic aquí
y ver luego debe. No estoy
hablando de este botón. Esto, esto lo tenemos, si queremos hacer algo bueno, tenemos que hacer escribirlo
en esta on-premise. Pero todo este asunto del azulejo está
imprimiendo a este Elon Musk. Digamos que tengo click en él cinco décimas. Por eso está aquí así. Este estilo de lista también es un
widget de interfaz de usuario muy interesante
porque, es, es un paquete de
todas las cosas que pueden, que podemos necesitar
en nuestra aplicación. Ahora, ya sabemos lo que
es una columna widgets. Simplemente lo envolveré
alrededor de la columna. Ver nada va a cambiar. Ahora lo que voy a hacer es que
quiero hablar del siguiente elemento,
que es ListView. Pero antes de ir a eso, me gustaría mostrarles
el tema con la columna. Si yo, si tengo este estilo de
lista, esto mucho, esto muchas veces,
más, si tengo, si presiono es mu2 veces, ver algún error está
ahí en la parte inferior, es
decir, el fondo
es nuestro fluido. Eso si directamente nos acercamos. Columna aquí así
, mostrará error y no
es desplazable. Entonces aquí viene nuestro siguiente widget, que es Vista de lista. Listview es como una columna. Es decir, lo,
imprime esa cosa. widgets Alda
de manera vertical a
esta de arriba a abajo. Pero también es una cosa
desplazable. Si escribo Lista Ver
aquí y la guardo. El error es puede ver que somos capaces de desplazarse por
nuestros elementos son widgets. Por lo que ListView es, de nuevo es decir
es lo mismo que columna sobre líder. La principal diferencia es que es, es nivel de coral
y
recuérdalo, lo, imprime los widgets en
dirección vertical por defecto, si quieres cambiar, solo
puedes cambiarlo aquí
en el dirección de desplazamiento y punto de
acceso puedes
darle vertical también. Pero nuestra saudita
horizontal también horizontalmente. Pero la cosa es, entonces el
elemento debe ser diferente porque verticalmente
no se puede imprimir un estilo de lista. Además, podrías estar pensando, ¿qué debemos hacer si
no quieres usar datos? Columna rígida? Pero no queremos usar
el widget ListView, pero aún así queremos
eliminar este error. Porque obviamente
toda la aplicación, todas las páginas de
la pantalla que
usaremos tendrán tantos
elementos en esa pantalla. En ese caso, sólo se puede
adaptar ese elemento más elevado, es
decir, este es el elemento superior
más del cuerpo. Simplemente puedes envolverlo con un
widget y ese nombre de visita es vista de desplazamiento de un solo hijo. Simplemente recuerdas este nombre porque es un cambio de juego. Y esto te ayudará a hacer que el
widget de columna se pueda desplazar. Ver el error se
ha ido, y en este momento, esta columna ahora se está desplazando sin ningún
agregado en la parte inferior. Si lo deseas, puedes
Google estos términos. Qué
vista de desplazamiento de un solo niño, lo que ListView, lo que nuestra columna, si
queremos ir más en profundidad. Pero te he dado la información
básica en un concepto básico de cómo y cuándo deberíamos
usar este tipo de widgets. Espero que hayan disfrutado este módulo porque
aquí lo tienen, ahora están listos para entrar en cosas
más profundas en
los próximos módulos. Y al final de este curso, te convertirás en un completo desarrollador de aplicaciones de
aleteo.
15. Qué es un estado: Este módulo es
muy importante porque aquí estaremos discutiendo sobre lo
que es presupuesto con estado. En las sesiones anteriores V, estamos muy acostumbrados a
afirmar menos widget. También creamos nuestro
propio widget sin estado por el nombre de la pantalla de inicio. Pero definitivamente en la aplicación
mundial ideal V, mi chica podría ser un montón de escenarios donde tenemos
que usar un presupuesto con estado. Antes de entrar al
estado completamente widget, podrías estar pensando
¿qué es este estado? Por lo que un estado es solo un valor o una pieza de datos
en nuestra aplicación. Cualquier cosa que pueda cambiar, como un
conteo de contador, texto, color, etc., puede ser parte de los datos de declaraciones
estatales
en su aplicación. Esto como Zoom, un estado de
nombre de usuario, ¿eso es qué? Sus habilidades, aleteo, Firebase,
estas son todas estatales. ¿ Cuál es el color de la app? Azul, eso también es un estado. Widget con estado
es simplemente un rígido cuyos datos internos
cambiarán en alguna acción. Es decir, se hace clic en botón y luego
se debe cambiar el color del texto son el, debe
haber algún
tipo de animación. En ese caso. Obtener rígido es refrescar y
reconstruir con 10 nuevos datos. Esto no es posible
en la región apátrida. Por lo que teóricamente
has entendido, pero definitivamente estamos
trabajando en nuestro código. Podría tener muchas dudas. Y vamos a aclararlo uno por uno. Por lo que simplemente volveré a
eliminar todos esos datos. Pero antes de eliminar
todos los datos, me gustaría
tener una pantalla nueva. Es casa está bien. Es un estado menos rígido. Pero me gustaría tener suponer punto de contacto, punto. Tenemos esta pantalla. Ahora vamos a crear nuestro
primer estado de pantalla completa. Entonces ahora primero tenemos que
importar material como de costumbre, luego crear una clase y nombre. Nombre Voy a nombrar es
contacto y luego extendió fecha de vencimiento, visión completa. Está bien. Entonces tendrá alguna máquina faltante
o qué derechos. Y esto es así. Este es el estado de creación. Widget con estado
tendrá dos clases. Una es el estado full div, que extiende el estado. Y la segunda es esa clase
estatal que lo extiende. Entonces aquí simplemente
puedes volver, supongamos que lo llamaré tech. Estado. Esto volverá a ser rígido. Voy a crear este estado de
contexto. Se extenderá es fecha, que tendrá este nombre. Y entonces ahora aquí, otra vez, faltará
ya hace la factura. Y ahora estás familiarizado
con este cinturón. Simplemente regresaré aquí
andamio. Entonces este es el esqueleto desnudo minima o dub de un widget
con estado. Entonces podrías estar pensando, Oh no, no
quiero escribir
esto una y otra vez. En ese caso, es posible que
necesites algunas extensiones. Al igual que aquí, tengo estos
impresionantes fragmentos de aleteo. Entonces definitivamente
tendrás Dardo y fértil en él. Con este
aleteo impresionante, fragmentos. Nos dan muchos atajos. Uno de los atajos es
crear un
widget con estado directamente. Por lo que sólo voy a eliminar todas
estas teclas de acceso directo S, D, F, que es
aleteo widget con estado. Y entonces sólo voy a dar clic en
entrar y lo voy a nombrar. Contacto. A ver. Esto se hace. No tenemos que hacer nada
con este atajo. ¿ Y qué es ese estado aquí? Tendré este
nombre de cadena es igual a invitado. Supongamos que este nombre de invitado es un estado que
cambiaremos más
adelante y te mostraremos cómo es, cómo
dribla pantalla y cómo,
cómo cambia la UI Gs
ante cualquier acción que hagamos. En el siguiente video, seguiremos desde aquí. Entonces tendón y alegría y
practica lo mejor de ti. Y tú.
16. El método de setState(): Ahora ya hemos
discutido para estos y cómo escribir
un widget con estado. Ahora es el momento de hacerlo prácticamente y
entender cuando se invierte, tenemos que usar el método
set state. ¿ Y cuál es el
beneficio de usarlo? Hagámoslo. Tenemos esta página de
contacto, dot-dot-dot. Aquí en el andamio, tendré una barra de aplicaciones, y tendrá un tipo de texto. Supongamos widget con estado. ¿ De acuerdo? Y en el cuerpo, Vamos a tener una columna
en los niños. Y los niños menos
primero Habito campo de texto. Y debajo de eso, vamos a tener un texto de supongamos hola, Dan, variable de nombre. Y en el punto principal punto-punto, en lugar de
entrar a la pantalla de inicio, Vamos a la pantalla de contexto. Refresca nuestro reinicio
nuestra aplicación. Y verás que solo
verás un campo de texto pero
texto normal con este widget de texto
hola. Ahora lo que quiero es cada vez que algo se cambia aquí
es sobre valor cambiado. Quiero que se establezca esta
variable de nombre. El lo que sea reescribiéndolo. ¿ De acuerdo? Pero la cosa es que si lo hacemos así en
ahí hay sin usar estado
establecido, no va a funcionar. A ver Hola, me
gustaría archivo Flutter. Ya ves, nada
está funcionando aquí. Es sólido. Es de nuevo, hola invitado. Pero si sólo usamos el método de estado
conjunto aquí, eso es un
dato de prueba de cambio y
cómo, cómo nos gustaría sentarse Estados, SET 10 capitales, set
state, luego paréntesis. Y dentro de eso, de nuevo, IF funciona
así, así es como está escrito. Entonces dentro de este estado conjunto, ahora si cambio nombre
es igual al valor, y entonces empezamos. Ahora solo te enfocas
en el texto Hola. Ver, la primera vez lo
que eran nosotros estamos escribiendo la UI se está reconstruyendo sólo por una razón, porque dice
estado widget completo. Ahora aquí sí afirma
ese es el nombre. Podemos cambiarlo de acuerdo
a algunas acciones aquí. Esa acción es un campo de texto. Entender lo que está pasando y cómo lo hace la pantalla
se está reconstruyendo. Sólo podemos tener una declaración
impresa. Primero en ese proyecto de ley, eso es la pantalla impresa Edificio. Y uno aquí. Valor de impresión si lo desea. O puede utilizar un estado de
conjuntos de impresión se llama. Ahora cuando reinicio, solo
ves el edificio de
pantalla de la consola de depuración es decir, se llama a
esta función de factura. Por eso somos capaces de
ver este resultado. Ahora voy a escribir, ver, si escribo f, entonces otra vez establece el descarte y
pantalla se está reconstruyendo. Y tú d, d, e. Entonces todo ese tiempo el CUI fue que es esta función de
factura
volvió a llamar de nuevo y este
nombre de valor se estaba cambiando. Por eso se está
reflejando aquí. Por lo que a través de la consola de depuración, puedes entender lo que está
pasando bajo el capó. Y media letra está usando
el método de estado establecido para alertar a la interfaz de usuario para
reconstruirse a sí misma. Entonces esta es la diferencia entre un widget sin estado
y con estado. En unas deudas rígidas apátridas, la deuda es lo que está escrito no se puede
cambiar por sobre si queríamos a través de algunos
botones, clics o lo que sea. Pero en un widget con estado, estos valores se pueden cambiar
usando este método de estado establecido. En el siguiente video haremos otro ejemplo de cola de estado
establecido luego solo intenta investigar y
practicar por tu cuenta también.
17. Widget Stateful en acción: Por lo que hasta ahora, sabemos
cómo usar una declaración SET y cómo se puede usar para reconstruir nuestra pantalla
con Dan nuevo estado. Pero es, es mejor si practicamos algunos con
algunos ejemplos más. Empecemos y
creemos una nueva pantalla. Nuevo, nuevo archivo será. Supongamos que no debería serlo. Y sólo lo nombraremos con estado. punto-punto. Como de costumbre paquete
material de importación. Entonces tener es visita con estado de mi fecha pantalla completa. Acabo de nombrarlo así. Entonces ten el andamio. Y luego como de costumbre,
en ese título, tengo un texto de fecha, totalmente rígido en el cuerpo. Tú en el cuerpo. Vamos a tener
widget centrado y niño. Vamos a tener un widget de columna. Ahora se sienta en un widget con estado. Definitivamente tiene a
algún estado donde voy a crear una lista de cadena. Yo lo nombraré. Nombres es igual a esto. Y aprendo a Bill, mark. ¿ De acuerdo? Y voy a tener un NSDate
de int I es igual a 0. Podrías estar pensando,
¿qué son estos? Entonces es sólo 0 porque el
índice de una lista comienza con 0. Ahora aquí en ese primero
habrá algunos textos, un campo de texto y para invitar, mi medio es entonces nombres. Y yo, por lo que sumará
el mismo comienzo, mostrará IL-1. Y para eso, tenemos que cambiar
a mi punto punto medio, que es mi
pantalla completa de estado, para luego reiniciar. A ver. Ver mi nombre
y mi nombre es 11. ¿ De acuerdo? Y también la columna
usaré un centro principal, principal de puntos de alineación de X
que es de arriba a abajo, debe estar centrado. ¿ De acuerdo? Ahora lo que quiero es que quiero levantar botones en
la misma columna. Elevado significa que lo siento, me refiero botón elevado. Y el primer botón será el siguiente. Y el segundo elevado, pero luego regresaremos. Está bien, vamos a ver. Está bien. Lo que quiero es cuando hago click
en este botón Siguiente, Mi nombre es Elaine debería ser, Mi nombre es Bill. Es decir H debe circular o debe pasar por esa
lista de nombres para eso. En el on-premise, tengo
que cambiar esos datos. Lo hice es que es 0. Debería ser uno. Si doy clic en el botón Siguiente, hasta el momento que sólo voy a escribir estado
conjunto y luego yo plus, plus. A ver. Voy a dar
click en este siguiente C, Mi nombre está construido en. Si hago click Mi nombre es Mark. De igual manera, si quiero volver atrás, solo
estableceré el
estado de set I menos menos. Aquí. Si hago click en Siguiente, se irá Bill. De hecho, podemos volver atrás. Volverá a aprender. Pero la cosa es, si el usuario hace clic conecta
múltiples veces, entonces mostrará alguna letra C. Porque yo sólo soy la Atlántida sólo 0, 1 deuda es tres. Pero si voy más de dos, empezará a mostrar el
error demasiado lejos que tenemos que hacer algún tipo de condiciones
aquí en el on-premise, como el estado set. Si
sólo digo aquí mismo. Si yo es menor que
los nombres de longitud de punto, entonces sólo ejecutar hizo
esta cosa de estado conjunto. Está bien. Ahora reiniciemos y
comprobemos qué pasará. 012 va a tratar
no debe ejecutar 01 marca. Y de nuevo, tengo
que escribir menos uno
aquí entonces definitivamente. Hagámoslo otra vez. Eland Bill, mira, ahora
no está mostrando ningún error. Y de igual manera, retrocede. Cuando vuelvas, tenemos que comprobar si
yo no es igual a 0, diez menos si ya es 0, entonces no podemos ir más allá. Ahora, probémoslo. Si voy 123, ¿de acuerdo? Ahora si voy Bill 11, y ahora si trato de
volver también, entonces tampoco va a
funcionar porque
tenemos nuestra condición la
cual nos
asegurará que esa pantalla
no se estrelle. Por lo que este es un
ejemplo muy básico de estado conjunto. Un ejemplo más que puedes tener es suponer que muerto es un color, este color es rojo. ¿ De acuerdo? Este es un estado. Ahora tendré un botón de acción
flotante. Botón de acción flotante que me gusta. En ese niño,
tendrá un ícono. Puedo empezar. A ver. No sé cuál
es la lente de color. Vamos a comprobarlo. A ver, está bien, aquí tengo
este ícono. Lo que quieren es cuando
hago clic en este ícono, es color debe cambiar. Ahora. Tengo este color de fondo y este color de fondo
será el estado que es rojo. De acuerdo, entonces en el
principio el estado es rojo. Pero quiero es cuando hago
clic en este botón, ese estado debe
cambiarse aunque. Entonces cuando hago clic en este
botón, set state, color es igual a colores dot Amber. Solo te estoy mostrando ejemplos diferentes, diferentes
para que estés más cómodo con conjuntos de
datos entender lo que hace. Ahora le estoy dando click, ver un cambio de color a Ámbar. Entonces este es el uso de sets date, y así es como funciona
un widget con estado. Simplemente cambia
esos datos y reconstruye pantalla
Estado con
nuevos datos de deuda, simples como eso. Por lo que en el siguiente video
discutiremos pocos del
concepto restante de este módulo. Y después de eso,
estamos bien para entrar en los próximos conceptos más halagados. Gracias.
18. Qué es initState(): Entonces ahora ya hemos trabajado en
widget con estado y cómo cambiar el estado usando la
sentencia SET y get es otro método que es muy importante en un widget con estado, que se llama el estado init. Entonces, ¿qué hay en cada estado? Se trata de una función
que ya está muerta dentro de
cada widget con estado solo
tenemos que escribir IN. Ver aquí puedo conseguir este ayudante. Entonces si hago clic en Entrar, hay esta función
en su estado y lo que la hace
cuando esta pantalla, nuestra camioneta, este widget con estado se
está construyendo para
lo primero. A esto se le llama. Por lo que eso significa antes de
esta función de proyecto de ley, antes de la UI, esto en
su estado se llamará. Entonces si quieres ver lo que
estoy diciendo, imprimamos. Eso es cerebro. Aquí. Estado Init y en función Bell. Vamos a imprimir la función de compilación. Ahora reiniciemos
la aplicación. En la consola de depuración. Verás primero se llamó al estado
init,
y en segundo lugar se llamó a
la función de factura. Por lo que esto es muy
potente y muy útil cuando estamos construyendo
una aplicación en el mundo real. Entonces podrías estar pensando, vale, pero ¿
de qué sirve este estado init? Entonces lo que solemos hacer es
asignar algún valor. Asignamos algún valor
a nuestras variables, variables instancia,
se puede decir a esos datos,
supongamos que esto es
solo, por ejemplo, esto es nombre de cadena, y esta es una variable. Ahora, se acerca este dato. Supongamos que desde la
pantalla anterior, utilice su nombre. Aquí dentro. Yo sólo diré
esto.Nombre de usuario, los dos. Jeff Bezos. Ahora en el estado init, me gustaría
asignar ese valor. Ese es el dato que viene de la pantalla
anterior a esta pantalla. Simplemente escribimos este nombre de punto es igual al nombre de usuario de
punto widget. Y luego en el texto, pero me gustaría
mostrar ese nombre de usuario. A ver, ¿funciona o no? Ver. Entonces lo que hicimos fue que
los datos venían de pantalla
anterior a la
pantalla, solo por ejemplo. Y aquí está asignando ese valor a una
variable que estaba vacía, que antes era nula. Pero antes de construir la pantalla, este valor se asignó a esa variable usando
el estado init. Ya que, debido a que es la
primera función a la que se está llamando cuando se construyó este
widget. Hay, se puede decir cuando se estaba construyendo
este presupuesto. Ahora, supongamos, espero que recuerden el estado conjunto
conservador anterior. Si hago clic en esto, entonces se
volverá a llamar a esa función de factura. Pero la función de estado init solo
se llama una vez. Entonces mira, se
está llamando de nuevoa la función de factura está llamando de nuevo porque se está
actualizando la página. Pero esta cosa init state, von, no podemos llamarlo de nuevo, ya es bastante
esto en Lee enrollado una vez ADH tienes que quitar esta pantalla o ir a la diferencia puede totalmente diferente de dos páginas para luego volver
a esta página. Este es el on livery. Aquí solo asignamos
ese valor desde el widget padre
a este widget. Esas cosas se pueden ver. Hay un montón de
cosas como streams, textos, y ser controlador. Por lo que el valor de las cuotas son
aquellas cosas que
queremos inicializar se
utilizarán o VK puede
inicializarlo en el estado init. Entonces ahora mismo podrías estar
pensando lo que estoy diciendo, pero más adelante cuando estamos usando base de datos Firebase o tenemos
que inicializar algo. Es decir supongamos
alguna solicitud HTTP. Estas cosas, podemos
hacerlo en el estado init. Eso significa que acaba de morir se inicializan esa cosa tan pronto
como se está construyendo esta página. Entonces espero que hayan
entendido el concepto de presupuestos
con estado y
cómo se construyen las páginas. Este estado init es
muy importante. Pero ahora mismo, si
has entendido, a menos que el concepto
también, entonces es suficiente. Podemos pasar a
algunos otros temas. Y Q
19. Comprender el ciclo de vida Widget: En el último video, V, y luego cómo funciona el
estado init Vogue. De igual forma, tenemos ya sea funciones
u otras cosas también. Cualquier widget con estado, que se llama ciclo de vida de
presupuesto completo del estado. Entonces DRF, pocas de las funciones que podemos
utilizar en widget con estado. El primero es el estado init, que ya hemos discutido. Este es el primer método llamado cuando se crea el
widget. Se llama una vez y sólo una vez. Por lo general se usa para
inicializar propiedades que dependen de estos widgets de
crianza de ese árbol. Subíndice dos flujos modificadores de
cambio. Cualquier otro objeto que pudiera cambiar la fecha
abajo de ese widget. Entonces esto lo hemos discutido. Entonces lo siguiente son las dependencias de
cambio profundo. Este método se llama
inmediatamente después en cada estado. Y cuando
la dependencia del
objeto del estado de la muerte cambia vía widget
heredado. Por lo que solo puedes ver que
sí cambió dependencias. Simplemente,
simplemente escribiré impresión. ¿ Cambió dependencias. Reiniciaré la app. Y aquí verás primero
en su estado estará ahí. Después cambian dependencias,
luego doble función. Este método rara vez se
necesita o se usa. Que los muelles del aleteo
también sugieren que podría ser útil si necesitas
hacer algunas llamadas remotas. Pero cuando n heredó actualizaciones de
widget, que este concepto
no es tan importante. He estado construyendo
absolutamente
mucho, muchos años y esta
cosa no es importante. Tercero es esa función de campana. Este método se llama cada vez que hicimos esto reconstruido, es un requerido y
debe devolver un widget. Entonces esta es la función de campana. Ya tenemos,
ya sabemos que se
llamará en ese 30 lugar
primero en su estado. En segundo lugar, cambiar dependencias. Y en tercer lugar, función por
días sí actualizó región. Esta es también una función que se
dan por el widget con estado. Se llama
cambios frígidos de padres y tiene que
reconstruir discreto. Ese es este widget. Entonces lo que quiero decir es, supongamos que aquí este dato
viene de ese padre frígido, es de la pantalla anterior. Y aquí sí actualización. A esta cosa se le llama
si estos puntos, supongamos nombre no igual a
0, nombre de usuario de punto rígido. O lo siento, Sólo puedes decir
este widget dot nombre de usuario, marca. ¿Cambiaron? Entonces ahora no podemos demostrarlo, pero hay que
entender el concepto. Supongamos un caso típico cuando un padre pasa alguna variable a los hijos
a través del constructor, que es este caso que ya
hemos hecho. El padre está pasando algunos
datos a través del constructor. Y si esto, si el pad
y los datos de widgets cambian, entonces esta función también
recordará y mostrará
que los cambios realizados. Entonces para la causa que
funcionará después de esto, por lo que no hay necesidad de leer el
estado establecido por su cuenta. Esta función
tampoco se usa tanto. Pero cuando estamos aprendiendo
sobre widgets con estado, al
menos debes saberlo. Estos términos también existen. Estado de 50 set. Ya sabemos que se
trata de un rey de estado conjunto. Y después de eso, vuelve a llamar a
la función de factura y se construye la interfaz de usuario. Esto no es algo nuevo. Sexto es desactivar. Esta función se llama cuando el objeto se
elimina del árbol. Esto de nuevo rara vez se usa. Este método existe básicamente
los objetos de datos de costo se pueden quitar de 1 a otro y se puede
quitar temporalmente. Simplemente les mostraré que esto también existe
desactivando así. Cuando acabas de imprimir desactivar. Y una final y la
última está dispuesta. Esto es muy importante. Este método se llama
cuando este objeto, es
decir cuando este widget
con estado se elimina del
árbol de forma permanente. Aquí debemos liberar las fuentes de
energía retenidas por el objeto como detener
cualquier misión son lo que sea. Un ejemplo es Wendy's my TED se llama vil usando la
colocación empujador del navegador. Próxima sesión sólo estaremos
hablando de navegación. Entonces eso es de una
página a otra página. Si vamos, Entonces la página anterior debe
desecharse adecuadamente. No debe haber fuga de memoria. Por lo que en una aplicación del mundo real, es muy importante
utilizar estos mentor de disponer. Aquí detendremos
alguna animación, llamadas a
nuestra base de datos o lo que sea, lo cual no se requiere más adelante. Por lo que estos widget de vida adulta
secular
, libre, con estado primero es init state segundo,
deshaciéndose de dependencias. Tercero es la función de construcción. 40 es si hacemos alguna, si su widget padre hace algún cambio en sus
variables aquí. Entonces sí actualizó
vd, esta llamada, comparamos eso con valores. Y luego los últimos
son los desactivados, que tampoco es tanto uso, pero esta publicación se usa mucho. Mucho. Entonces tienes que
asegurarte, conoces todos estos términos y cuando lo estamos
usando más adelante, no
estás confundido sobre qué es esto o es
algo nuevo? Porque al menos ese concepto que
conocemos más adelante prácticamente
aprenderemos a usarlo. Gracias.
20. Concepto de stack detrás Navegación: En este módulo,
estaremos iniciando un nuevo tema que es la navegación. La navegación es una parte clave de la experiencia de los usuarios para
cualquier aplicación móvil. Porque definitivamente los usuarios
navegarán constantemente constantementeentre pantallas
diferentes, diferentes. Es imposible que
estés construyendo y una aplicación en toda regla y solo tengas una pantalla en ella. Si viste si ves un sitio de
comercio electrónico, DNR, ordena mi pedido, carrito, luego página de inicio, luego oferta de página. Hay muchas
pantallas para la deuda. Tenemos que saber
navegar correctamente. Ahora papá está enfermo concepto de navegación aleteo,
que es pila. Si vienes de algún lenguaje de
programación R, Si has hecho
tu graduación, entonces definitivamente, ¿
sabes qué es una pila? Simplemente es empujar y
estallar elementos. Por lo que sólo se puede ver este
diagrama y entender eso. Supongamos que esto no es pila vacía. Después una pantalla que
es cuando se abre la aplicación, luego la pantalla de inicio está siendo
empujada a la pila. Entonces desde la pantalla de inicio, si navegamos a la pantalla de
contexto, es decir, si solo vamos a los
contextos limpios y tenemos la opción de volver de
nuevo a la pantalla de inicio. Entonces esa
pantalla de contexto irá por encima de la educación en casa en esto
como sólo la pila. Es decir, está por encima de
uno sobre otro. Por lo que sólo se puede decir que sigue la regla del
último en primer lugar, es
decir lifo y no de
primera-en-primera-salida. Entonces si hacemos estallar la
pantalla de contextos y volvemos nuevo a la pantalla de inicio
que este contacto verde se eliminará
de la pila. Y luego de nuevo indust stack. La pantalla de inicio
estará ahí solamente, la cual será visible
para el usuario final. Entonces este es el 2D, este es el concepto detrás de la
navegación en Florida. Tienes que entender porque
definitivamente en tu mente, debes visualizar cómo las páginas o cómo funciona tu
código. Empecemos entonces. Si conoces el concepto, entonces empecemos con
una navegación básica. Saca a relucir ese editor de texto. Y estas páginas no quiero, solo
voy a crear una nueva página. Y el nombre es primer punto de
pantalla. Entonces importaré material. Entonces será apátrida. No quiero cambiar ningún dato. Será primera pantalla. Será un andamio
en la barra AB. Tengamos y de título texto de primera pantalla. Ahora, solo asigne esta primera
pantalla en punto de dominio. Ahora actualiza tu
aplicación y vamos a ver. El primer rey está muerto. Por lo que en el siguiente
video aprenderemos sobre el concepto
de Bush y Bob. Es así como enviar esta pila, una pantalla dentro de la pila, y cómo eliminarla. Y volver de nuevo a
la pantalla anterior.
21. Push y pop: Sigamos trabajando
en la parte de navegación. Entonces si tenemos esta primera
pantalla en el cuerpo, Vamos a tener un widget de centro. Y luego hijo de botón
elevado. Y dx será igual
a segunda pantalla. ¿ De acuerdo? De acuerdo, tenemos este botón. Ahora. Tenemos que crear una
nueva segunda pantalla también. Por lo que sólo voy a crear un nuevo
archivo segunda pantalla, pero Dart. Nuevamente, tengo que hacer
este material de importación. Después tener un widget apátrida
llamado segundos pantalla. Nosotros, ya que es una pantalla, así que realmente es andamio. En esta parte
tendremos un título. Esto es muy repetitivo, lo
sé, pero hay
que practicarlo. Tienes que
acostumbrarte tanto
que lo sabes
todo al respecto. ¿ De acuerdo? Tenemos esta segunda
pantalla, ¿de acuerdo? Ahora, tenemos que navegar a, podrías estar pensando, bien, pero ¿cómo navegar? Para navegar
existe un método llamado colocación de
empuje y empuje. Es decir, primero es empujar. Es decir, acabaremos de empujar hacia arriba la siguiente pantalla por encima de la pantalla. Es decir, empujaremos la
segunda pantalla dentro de la pila. Pero la primera piel
estará atreviendo la pila. A lo que quiero decir es
que tenemos que usar el push, pero la sintaxis
que hay que recordar es primero es el punto del navegador, luego la era del CD, tantas opciones. Empuje, pop, empuje reemplazo. Por lo que estaremos usando push. Entonces aquí verás
que acepta dos cosas. Primero es un contexto y
el segundo es una ruta. Esta ruta tenemos que enviarme TDL página ruta widget como este. Ves, es un poco diferente, pero este es un código que
tienes que simplemente aprender o simplemente recordar de
memoria, eso es todo. Ahora este Builder es una
función como esta, que lo hará, aquí
será contexto. Y luego regresa esta función. De esta manera el nombre de la pantalla alcanza en
nuestro caso es segunda pantalla. Por lo que este es ese código requerido para navegar de
una pantalla a otra. Aparte de esta segunda pantalla, todo lo que tienes
que simplemente recordar, esta es la sintaxis. Y navigator dot push
toma dos parámetros. Uno es contexto y el segundo
es ruta de página material. Material page it out acepta
un parámetro de Builder, que es una función que
devuelve ese nombre de pantalla. Eso es widget tensor de identidad. Se puede decir, Vamos a
ver, ¿está funcionando? Y solo recuerda aquí que
estamos usando y solo
escribiré método push porque hay una diferencia entre
push y push replacement. Voy a dar click en ir
a segunda pantalla y ver segunda pantalla está ahí. Por lo que esta es una primera
vez que estamos usando múltiples pantallas de
una pantalla a otra. Y ahora se puede ver aquí
hay este botón de flecha. Entonces solo imagínense
por este empuje, estamos a punto de volver
a la pantalla anterior. Y si puedes
visualizar una pila, eso significa por encima de
la primera pantalla, esa segunda pantalla
estaba sentada. Y luego simplemente lo quitamos. Y podrías estar pensando, vale, he entendido de
alguna manera qué es push, pero ¿qué es el reemplazo de push? Por lo que empuja el reemplazo
borra esa pila. Eso significa que no podemos volver
a esa pantalla anterior. Una vez que navegamos a la segunda fecha de pantalla no
es ninguna flecha hacia atrás. eliminarán todas esas
pantallas anteriores. Entonces eso es navegante. Sustitución de empuje. Sencillamente. Después de eso, todo
será igual desde el contexto hasta la ruta de
la página material y todo. Sólo la diferencia se
empujará la sintaxis de reemplazo. Ahora, de nuevo, saca el emulador
y pruébalo por tu cuenta. Al hacer clic en ir
a segunda pantalla, ver que no hay botón de flecha. No podemos volver de aquí. Simplemente lo puedes entender
con un ejemplo de Facebook. En primer lugar, esa pantalla de inicio de sesión aparece cuando ingresamos
nombre de usuario y contraseña. Después de eso, el usuario es, y si es correcto, el usuario es navegado
a la pantalla de su perfil. Y desde la pantalla de perfil de deuda, no puede volver de nuevo a la pantalla de inicio de sesión hasta y a menos que haga clic en
el botón de cerrar sesión. Por lo que este es un ejemplo muy bueno y en típico de cuándo
usar push y cuándo
usar push replacement. Ahora, hemos entendido y hemos
aprendido a empujar páginas. Pero hay otro
concepto de popping pages. Por lo que haremos aquí
en esta segunda pantalla. Apenas en su cuerpo. Otra vez. Crear centro derecho, luego niño. Entonces botón elevado. Aquí está yo he hecho
algo mal. En el botón elevado. Apenas visto cuando el
niño lo harás, escribiré aquí y volveré. Ahora aquí estaremos entendiendo
el concepto de pop, que significa simplemente quitar esta página de la
pantalla y menos en impuestos navigator dot push. Ahora aquí solo pop simple y
acepta contexto de paso. Eso es todo. Nada mucho. Y para poder pop,
solo recuerda aquí, está empujado,
no empujado el reemplazo de empuje, o de
lo contrario tu aplicación se estrellará. Simplemente saldrás directamente
fuera de tu aplicación. ¿ De acuerdo? Ahora bien, si hago clic en
ir a segunda pantalla, ver tenemos este
botón Volver y cuando haga clic en él, volveré a hacerlo, vuelve de nuevo, volver a la primera pantalla. Ahora podrías estar pensando este enrutamiento también
hace lo mismo. También, por defecto llama a la función pop dot
del navegador. Ambos hacen lo mismo, pero aquí
escribimos deliberadamente el código para volver atrás. Eso es todo. Y este navegador dot pop quita esa
página más alta de la pila. Por lo que podría haber por
debajo de 23 páginas, pero sólo elimina esa página
superior. Eso es todo. Y si quieres de
esta segunda página, también
puedes volver atrás. Bueno, dos página diferente. Voy a sólo
navegante escolar, pero empuja. Entonces aquí,
ruta de la página material, luego simplemente contextos. Ahora me gustaría ir
a a esta página de contacto. Supongamos aquí la página de contacto. ¿ De acuerdo? Esto también es empuje. Recuerda, ahora lo que pasa
de en la etiqueta índice láctea. Es solo primero conseguir
widget en, en este momento. Entonces cuando hago clic en
ir a segunda pantalla, entonces tech sumar
muy por debajo de la deuda es la
primera pantalla por encima de ella, luego la segunda pantalla. Entonces si voy a esto, lo siento, me olvidé de
cambiar el nombre. Si voy a pantalla de contacto, ver ahora los contextos bastón está ahí y ahora en dest tag directory pantallas
una arriba y abajo. Entonces cuando regrese aquí, vendrá
la segunda pantalla y la pantalla de contextos
está saliendo de la pila. Y ahora si vuelvo aquí otra vez, entonces esta primera pantalla está aquí. Pero supongamos a partir de
esa segunda pantalla, usaré reemplazo push. Ahora, ¿qué pasará? Es muy interesante
ver desde la primera pantalla, cuando voy a la segunda pantalla, tenemos dos pantallas
en la pila. Pero si hago click en Ir al contacto y como está
usando reemplazo push, entonces quitará
todas las pantallas. Eso es segunda pantalla
así como la primera pantalla. Ahora si voy a Contacto, ver, se está quitando. Ahora tengo
reemplazo de empuje de uso aquí. Y por eso
no deberíamos poder usarlo. Tienes que decirlo de nuevo, a veces simplemente a poco
l viene, está bien. Pero hay que entender que este reemplazo push
quita toda la pila, todas las visitas de esa pila. Esto podría suceder debido a algún almacenamiento en caché normal
o algo así. Pero hasta que no tengas
suficiente familiaridad, has entendido
ese concepto de memoria. Eso es lo que importa. En los próximos videos, discutiremos la navegación, modo en profundidad y
el agua, las otras funciones en
lugar de simplemente push pop y todas
las demás cosas también, cuales serán
discutidas en un mientras que.
22. Comprender la ruta nombrada: Hasta ahora, hemos
aprendido a navegar usando el método push. Pero hay otra
forma de navegar es mediante el uso de rutas con nombre. Ahora suponga que si
necesita navegar a la misma pantalla en muchas
partes de su aplicación, el enfoque anterior puede
resultar no es la duplicación de código. La solución es
definir un nombre, ruta, y usar ese nombre para la
navegación donde quieras. Y la sintaxis
también está lista simple, no como antes de
eso tenemos que usar ruta de página
de
material y luego constructor y mucho antes
era mucho más código de caldera,codificación
de calderas era mucho más código de caldera, y todo. Pero en este momento la
sintaxis es muy fácil. Así son los pasos. En primer lugar, tenemos que
crear dos pantallas, que
ya hemos hecho, ¿de acuerdo? Y el segundo se
definen las rutas
proporcionando propiedades adicionales en el widget ADL. Por lo que ahora tenemos que ir a
nuestra página principal de puntos. Aquí. Tenemos que usar
propiedades de rutas aquí así, y luego llaves. Por lo que esta también es propiedad
de rutas de laboratorio de materiales, que definitivamente
te ayudarán en tu navegación
y código limpio. Entonces primero tienes que
determinar la cadena de tarea correcta. Es lo que debe llamarse.
Ese es el nombre de la ruta. Pero aquí
acabo de dar slash, que significa la página de inicio. Y es una función
como antes solamente. Y aquí estaré
enviando la pantalla de inicio. Y así segunda ruta
puedes tener contacto. Puedes tener como este contacto. Y aquí otra vez, esa función
y contextos pantalla. Cuando estamos usando rutas, entonces no deberíamos
usar la propiedad del hogar. Deberíamos usar ruta inicial. Y aquí, cuál es
la ruta inicial es esta barras inclinadas. Por lo que tengo que comentar este hogar y luego
reiniciar nuestra aplicación. Digamos que la ruta inicial
es la pantalla de inicio o no. la ruta inicial
se define con qué ruta
debe comenzar la aplicación. Entonces por el nombre solo
lo entenderás. Se está llevando un poco de
tiempo en mi sistema. Sí. Pero ya está hecho. Diga que la
educación inicial en casa ya está aquí. Y solo enviaré la primera pantalla 2
inicial. A ver. Ahora cómo navegar
a la segunda
pantalla usando ese nombre, que se navega la capa de propiedad
push name. Nosotros, estamos usando el navegador dot
push and push replacement. Pero ahora podemos usar push named
y push Nim reemplazo. Vayamos a la primera pantalla. Aquí. Ver tenemos
nuestro método push, que voy a comentar y
he push llamado mi 10. Y la sintaxis es muy simple. Navegador dot push nombrado, luego contextos y
su nombre de ruta. Y su nombre
será slash contact. Lo enviaré para ir a Contacto. Supongamos. Por lo que se puede ver
que la sintaxis es muy simple. Es navegador dot push name. Entonces aquí no tenemos que usar ninguna página de material,
ruta y todo. Simplemente podemos escribir el nombre de la ruta y nos
ayudará a navegar. Vamos a Contactar y ver
las páginas de contacto aquí. Y de igual manera, hemos empujado. Empujar nombre de reemplazo. Hace el mismo trabajo que el reemplazo
de empuje en las diferencias de
líder. Aquí estamos usando
un nombre sequía. Y es click y ver
que no hay botón Atrás. No podemos volver aquí
también para navegar atrás. O si tienes, si quieres crear un botón, entonces simplemente podemos usar navegador dot pop,
igual que antes. La única diferencia
es que estamos usando rutas de
nombre para nosotros a
Marina para la navegación. Nombre de Bush. Y de igual manera en la reunión, pero que se puede escribir
tantos nombres que desee. Supongamos segunda página, entonces. Contexto. Y segunda página. Segundos. Bien. ¿ De acuerdo? Y sólo diremos
que es segunda pantalla. ¿ De acuerdo? Por lo que esta es la forma
de utilizar las rutas. Ahora la cosa es, el único inconveniente aquí es
cuando estamos navegando, tarifa debe tener que recordar
este nombre adecuadamente. Supongamos que lo escribimos. Supongamos que el punto de contacto
S son contextos, entonces mostrará error. Y definitivamente, es, es muy difícil para nosotros
recordar la ortografía. Esta barras inclinadas
correctamente, cada vez que lejos se consigue más fácil solución
pequeña. Y eso es usar
modificador estático para llamar a las rutas de nomenclatura. Lo que significa es que
si usamos un nombre, si comienzas método
para navegar de un lugar a otro
dentro del concepto de nomenclatura, entonces hay que recordar la cadena que hemos
proporcionado a su nombre. No necesariamente
siempre es deuda. Recordamos el
nombre cuando hay pantalla
múltiple en
una aplicación. Por lo que creamos un tipo de datos
de cadena del mismo con el modificador estático, para que podamos
asignarlo directamente, llamándolo a través de su clase, que significa simplemente que
estamos usando una
variable táctica dentro de nuestro
estado menos rígido y darle un nombre como este hogar, simplemente
escribiremos estática. String. Id es igual
a casa así. ¿ De acuerdo? Y luego en
el archivo main.js, simplemente
podemos escribir para
el principal como esa clave. Podemos escribir 0 pantalla dot ID. Y esto tendrá un
contexto de pantalla de inicio. Simple. Por lo que se pone
mucho más limpio y agradable. Y definitivamente lo harías, puedes recordar
ese nombre de clase, al
menos en esa pantalla de inicio. Es mucho más fácil de
recordar que la cuerda. Del mismo modo, si vas
a la segunda pantalla, simplemente
podemos escribir, tomar string ID es igual a. Y luego puedo escribir segunda pantalla así e ir al punto principal. Aquí, sólo tengo que
escribir segunda pantalla. Y como es variable estática, así podemos llamarlo directamente
sin crear un objeto. Entonces así es como se hace. Como se puede ver anteriormente, hemos utilizado un modificador estático, que tipo de datos de cadena
tanto a la pantalla como
asignarle una variable de cadena. Ahora lo siguiente
es que tenemos a nuestra señora. Entonces esos ID de cadena, eso son esas
variables estáticas en las rutas. Ahora es el momento de llamarlo, porque podemos
acceder directamente a él fácilmente
y navegar de una página a otra
recordando ese ClassName. Y ahora no tenemos que
recordar esa cuerda. Y lo haré una y otra vez, lo que quiero decir con eso. Nuevamente en ese contexto,
igual que antes. X ID de cadena estática
es igual al contacto. Entonces aquí, simplemente
escribe contacto dot ID. Y si puedes
cambiar esto también. Ahora cuando voy a la
primera pantalla aquí, no
tengo que escribir esta
cadena como este contacto. Simplemente puedo escribir
contacto y estética. Entonces así, método táctico, solo
puedo llamar
al ID así. Ver la diferencia. Es tan limpia forma de escribir nuestro y
administrar nuestro código. Yo solo puedo decir ilegal
contactar así. Y mira, de nuevo, está funcionando. No hay error. Si estamos usando este enfoque. Depende de ti
cuál prefieras. Si estás viendo muchos
videos y tutoriales, es posible que te encuentres con
este método también, porque es una preferencia
personal. Sea lo que quieras,
puedes
hacerlo, No siempre es necesario
usar esta táctica, pero definitivamente te
sugeriré porque cuando tienes
muchas y muchas rutas, entonces es imposible
para ti todas y
cada una de las cadenas correctamente. Eso es todo. En el siguiente video, aprenderemos más
sobre cómo pasar datos entre dos pantallas
y mostrarlos en la interfaz de usuario.
23. Pasar datos a través de Constructors: Entonces hasta ahora, hemos entendido cómo navegar
de una pantalla a otra usando una forma normal
y usando una vía con nombre. Entonces ahora es el momento. Entendemos
cómo pasar algunos datos mientras navegamos definitivamente
en una aplicación. Y habrá escenarios. Después tenemos que pasar un dato desde el primero pasando
a la segunda pantalla. También supongamos que hay una situación como en
la segunda pantalla, necesitamos el nombre de usuario de ese
usuario, es net case. No queremos volver a
tener una base de datos llamando a la segunda pantalla
porque va a consumir
mucho tiempo y consumir
recursos. Es mejor que si tenemos los datos ya en
la primera pantalla, pasemos los datos a la segunda pantalla a
ese constructor. Como ya sabemos, hay dos tipos
de constructor. Constructor parametrizado,
nombre constructor. Entonces para aceptar datos, primero tenemos que crear
variable de instancia en la pantalla a la
que estamos navegando. Esa es una segunda
pantalla que puedes ver y crear un constructor
en ese espíritu, que acepta y asigna el valor a la variable de
instancia. A lo que me refiero con
eso es, vamos. Supongamos que tenemos esta crema de
contexto que sí. Simplemente tomaré
esta segunda pantalla. Aquí. En primer lugar, tendré una
variable de instancia de nombre de cadena. Y entonces tengo que declarar. Mencioné un constructor que va a exceptuar este valor
y asignarle eso a Buda, llamado a esa variable. Pero definitivamente abajo
sólo hemos hecho este constructor. Simplemente eliminaré este
y crearé un nuevo como antes. Y simplemente escribe este nombre de punto. ¿ De acuerdo? Se hace esta sección. Ahora en Main.Jack definetly. Aquí. Es pedir que
tengamos que mandar algún valor. Entonces es mejor
cuando estamos usando, porque los vendedores están usando rutas con
nombre ahora esto
no es para enviar un valor. Discutiremos eso también. Pero por el momento, sólo
comentaré
esa segunda pantalla. Y ahora en la primera pantalla, usaré el método push, no el push llamado mi turno. Y se puede ver en
ese método push, la segunda pantalla está
dando algunos agregados porque está diciendo
que tiene
que haber algún argumento insertado en la segunda pantalla
es aceptar algún argumento. Entonces simplemente enviaré eso porque como es un argumento
posicional, no un constructor con nombre, es un particional que
es la 0ª posición. Entonces simplemente
diré nombre, nombre, diré niños. Ahora en la segunda pantalla, en el estado init, siento, esta es
una región apátrida. Por lo que tenemos este
botón ir al contacto. Aquí. Simplemente imprimiré
el valor, que es nombre. Y lo escribiré impreso. De acuerdo, Ahora
veamos, ¿funciona? ¿ Podemos
enviar datos de una pantalla
a otra? Averigüemos. Traiga a su emulador. Ahora ve a contactar para que
sea bueno a segundos. Espero que lo hayas entendido.
Entonces cuando me vaya, ahora tenemos esta impresión de botón. Y al hacer clic en este botón, ver a Bill Gates en
la pantalla de impresión, podemos ver ese valor
Bill Gates, que fue enviado desde
la primera pantalla. Por lo que finalmente, v saber
navegar con la configuración de datos. Pero ahora sólo era un argumento
posicional. Igual que cuando estamos pasando datos a un constructor de
nombres. Que no es algo muy
difícil
ya que lo hemos hecho de
nuevo en otra vez. Simplemente lo que tienes que hacer. Vaya a la segunda pantalla y simplemente hágalo
en nombre constructor. Y se puede dar requerido ya que no es un elemento nulo
en un valor liberal. Ahora en la primera pantalla, tendrás que hacer nada. Es un parámetro de nombre para
tener que escribir el nombre que es el medio como lo
mencionamos ahí. Y ahora mismo lo
llamaré Elon Musk. Ahora de nuevo, comprueba si también
funciona con el
constructor de nombres. Cuando voy a la segunda pantalla y hago clic en Imprimir,
ver Elon Musk. Entonces esta fue esa diferencia y desde el principio mismo
de las sesiones de puntos, deberías saber la
diferencia entre los parámetros constructores
particionales y los parámetros de
nombre
han sido énfasis en esto una y otra vez
porque es un concepto muy básico. Ahora, esa cosa está muerta. En un principio, elimino esa ruta con nombre porque estaba
mostrando algunos agregados. Sólo porque si tienes una ruta de nombre y
quieres pasar esos datos, también
podemos enviar parámetros
val1 navegando, pero simplemente agregamos argumento a un mapa
empujando a la siguiente pantalla. Se puede ver aquí
con el ejemplo navigator dot push
contextos nombrados, contact dot ID. Entonces es un nuevo parámetro llamado argumentos y acepta mapa. Aquí la clave es nombre y un
valor que he dado tiene cadena. Pero también puedes tener diferentes objetos o modelos
personalizados en el futuro. Pero para entender ese concepto, hay
que ver cómo se hace
sacando a tu editor. Ahora en la primera pantalla, he llenado go y check
in domain dot, dot. ¿ De acuerdo? Y como estamos
usando rutas con nombre, tengo que eliminar
este constructor. Es decir, no podemos
aceptar un valor así. Para eso, ¿Cuáles fueron los pasos? El paso 1 fue? Aquí, simplemente vas a la tercera posición que
es contexto más rápido. Segundo es el nombre
de la pantalla. Eso es contacto dot ID. Voy a contactar, pero me gustaría
ir a segunda pantalla, así que sólo cerraré
segunda pantalla. Aquí podemos cribar. Si ves el rojo es este parámetro de argumento
llamado argumentos. Y aquí simplemente puedes
escribir nombre como clave y valor. Como puedes ver, Mark Zuckerberg. Y yo solo digo aquí, supongamos que estoy enviando dos valores,
fundador, Facebook, ¿vale? Por lo que ahora estamos
enviando su valor, pero definitivamente en
esta segunda pantalla, debemos aceptarlo. Recuperarlo. Y para recuperar los datos. Este es el código
que hay que recordar que es ruta modelada. Mucho contexto,
ajustes de puntos, argumentos de punto también. Entonces sólo recuerda esto. Antes que nada
comprobaré si es nulo. Es decir, si
se da valor o no. Cuello, esto no es igual a nulo. Y aquí, esto
mostrará algo rojo, rosa porque no se puede acceder
incondicionalmente. Porque obviamente esto
también puede ser nulo. Entonces o tenemos que usar
al operador así, lo que significa que se enrolla. Sabemos r, podemos VR, permitiéndole comprobar. Este concepto se
agrega recientemente en la no-seguridad. Entonces aquí en primer lugar, estamos comprobando
si no es nulo, entonces sí, excepto
almacenarlo en una variable. Lo mismo. Copiar y pegar. Y igual que como mapa. Por lo que hay que escribir mapa en orden como mapa porque de
lo contrario será un objeto. Viene como un objeto, que estamos diciendo
No, es un mapa aquí. Y luego simplemente escribir argumentos. La primera clave fue el nombre, y luego imprimir argumentos. Y la segunda clave fue el fundador. Vamos a revisar de nuevo. Ahora desde
nombre de primera pantalla y financiador, ¿podemos imprimirlo? En cuanto vamos a
la segunda pantalla? Acude a segunda pantalla y ve a
Mark Zuckerberg y Facebook. Por lo que este es el V ofs
pasando datos por nombre drop. Nuestro anterior aprendimos
a pasar datos a una normal, esa es la forma normal de
navegación a través de construido. Y segunda forma es
usar una ruta de nombre. Aquí tenemos que asegurarnos recordar la ruta modelo
punto fuera de los contextos. Esta es una forma de extraer los
valores vinilos navegando. Entonces lo último de
pasar el valor es que también
podemos devolver un
valor al volver atrás. Por lo que de primera a segunda pantalla, aprenderemos a pasar datos. Pero podría haber algunos escenarios donde
desde segunda pantalla, debes conseguir algún
tipo de conformación. Algún tipo de éxito, puede vender status y que dará como resultado ese cambio
en esa primera pantalla. Para eso, necesitamos modificar la función post en la
primera pantalla para asegurarnos de que espera el valor usando await y pasar el valor en la función pop de
esta segunda pantalla. A lo que me refiero con eso es, en la primera pantalla, supongamos mientras empuja, ahora mismo no estoy
enviando ningún dato. Tenemos que esperar. Entonces yo, boo status
es igual a esperar. Este
concepto asíncrono y espera definitivamente
aprenderemos en la próxima
sesión. Ahora mismo. Usted acaba de recordar aquí, estamos esperando este valor, para que esta función, para que
esta acción se complete. Y luego en plomo, el valor se almacenará en
ese estado lo hace Boolean. Y aquí me limitaré a
decir estado de impresión. Y ahora en así desde
la segunda pantalla. Si bien volvemos atrás, valoramos. Aquí, simplemente
escribiré un punto contexto Bob. Y entonces aquí sólo
cortamos mi relato verdadero. Eso es todo. Tan sencillo que al
salir de la pantalla, tenemos que enviar este verdadero valor. Ahora cuando voy a la segunda
pantalla y cuando hago clic en, volver con valor c, true. Por lo que esto se imprime desde la primera semana porque
tenemos que esperar. Estaba esperando a que
volviéramos de la segunda
pantalla a la pantalla. Y después de eso, sólo
este código se ejecutó como asíncrono y esperar son un concepto
muy importante. Se llama
programación asíncrona. Y definitivamente en
la sesión posterior, estaremos profundizando en eso porque sin
este concepto, no
podrás construir
ninguna aplicación completa. Para que se haga esa
porción de navegación. Ojalá te divirtieras y
tuvieras todas tus dudas claras. Por favor intenta hacer más y
más pantallas y practicarlo, porque definitivamente tienes
que recordarlo de memoria. Gracias. Nos vemos
en la siguiente sesión.
24. Widget de navegación de Drawer: En esta sesión, estaremos hablando del widget de arrastre, que también puedes decir que
envía barra de navegación lateral. Entonces si tienes uso alguna
aplicación como Amazon, supongo que la mayoría de la
aplicación tiene estas tres líneas o en el ícono de la
hamburguesa en la parte superior. Cuando hacemos clic en él, es barra lateral viene con un montón
de opciones para navegar. Entonces definitivamente lo haríamos en Florida, es una manera muy fácil de
implementar eso. En las aplicaciones que utilizan diseño de
materiales, existen dos
opciones primarias para la navegación. En primer lugar son los grifos. Es decir, si tienes, si ves el
ejemplo de lo que CEP, las pestañas en
la parte superior, chats llama a esos pasos. Y la otra opción son los cajones. Cuando no hay
espacio suficiente para soportar grifos, para proporcionar una alternativa práctica, podemos usar un cajón solo
dentro de un widget de andamio. Por lo que hay que recordar eso. Vamos a probarlo. Vayamos a la primera pantalla. Andamio indus. Tenemos este cajón. Está bien. Esta es una sintaxis de
escribirla a nuestro widget. Vamos a comprobar si algo
sucede en la primera pantalla. Ver este
icono de hamburguesa ha llegado. Estas tres líneas. Cuando hago clic en
él, tenemos
esto, esta navegación lateral aparece. Pero como no tenemos nada
dentro, está vacío. Pero espero que hayas entendido
que solo tenemos un código, pudimos
mostrarlo en la interfaz de usuario. Ahora por dentro vía se
acepta un niño. Definitivamente puedo,
habrá muchas otras lecherías, habrá muchísimas derivaciones de ops de
navegación. Entonces ahí dentro nos usaremos supongamos que no columna el ListView. Y les mostraré por qué
no elegimos columna también. Pero ahora mismo, solo recuerda, excepto dentro que
solo tienes una vista de lista. Y dentro de ListView, V puede tener opciones
diferentes, diferentes. En primer lugar, solo te
mostraré estilo de lista con una opción de navegación. En ese Titán. Tendré texto
de segunda pantalla. Y al tap no voy a hacer
nada por ahora, pero solo voy a guardar
y mostrar que ves nuestra primera opción de Navegación que es ir a segunda
pantalla puedes ver son solo ejemplo Inicio
Contáctanos Acerca de Nosotros categorías, lo que quieras,
Depende de ti. Entonces si tienes si recuerdas, nuestro encabezado también, si
recuerdas gmail lab, ahí en el encabezado
hay algunos detalles de cuentas como un
beneficio de nombre de usuario por impulsar. Se puede tener eso
usando cuenta de usuario, cuenta de
usuario, dibujar nuestro encabezado. Entonces simplemente mencionó
esas cosas. El nombre de la cuenta debe ser
Elon Musk, cuenta, correo electrónico puede ser Tesla, y que es.com. Es muy raro que
nunca uses una semejanza de
cuenta de Gmail. El tercero, podemos tener. Por lo que imagen de cuenta corriente, usaré un avatar circular. Y dentro de eso puedes
tener una imagen de red, pero solo usaré un ícono. Veamos cuál es la salida. Pero si tienes una
app de Gmail contigo en este momento, acaba de anexar Gmail y mostrar. Ver esa navegación lateral
de eso como aleta. Se puede comparar y ver. Tenemos esta
imagen de perfil, nombre de usuario, y correo electrónico de usuario con este
hermoso fondo también. También puedes cambiar otras
cosas. Pero ahora mismo, es
mejor mantenerlo simple. Porque el aleteo es muy vasto y
habrá mucho y mucho argumento
de propiedades que dar. Si quieres ver, sólo
voy a ir aquí
y decir Flecha color, margen de
tecla sobre detalles presionados. Estas son otras opciones en ella. IA líder
me dará un ícono para mirar. Ahora se ve así.
Supongamos que este es el hogar. Voy a copiar y dar otra baraja como simplemente escribir. Ver. Entonces con esta navegación lateral, se ve realmente bien. Simplemente me saltaré
otra página de inicio. Bueno, en casa y sólo escribe a quién aquí. Se puede ver este cajón. Ahora se ve muy profesional con principalmente
por este encabezado. Todavía se ve impresionante. Y como dije, también hay algo llamado cabecera de
cajón, que puedes probarlo por
tu cuenta si quieres. Y ahora supongamos que esto no es
ListView sino la columna, digamos que hay
algo que cambia. Di que no, nada cambió. Pero recuerda, si
tienes muchos datos
que aún están aquí y no será desplazable si
estás usando una columna. Entonces lista lo usamos cuando tienes muchas otras opciones
en ella también. Columna funciona bien. También. Ahora vamos a navegar. A la pantalla de inicio. Yo me
relaciono, navegar, empujar. Dan en la ruta. Tendremos un constructor de páginas. Contexto. El nombre es la pantalla de inicio. Está bien. Vamos a revisar. ¿ Navegamos a
la pantalla de inicio? A ver, estamos en la pantalla de inicio. Ahora. Tienes que dar atención y entender lo que pasa cuando hacemos clic
en el botón Volver. Cuando hacemos clic en
el botón Volver atrás, este dibujo sigue abierto, pero no se ve bien. Debería estar cerrado así. Lejos que antes de empujar
vía, hay que pop. Tenemos que escribir, navegar arriba pop con el fin de
cerrar el cajón y luego
pasar a la segunda pantalla. Inicia tu app. Ahora cuando voy al inicio, navegamos a esta pantalla de inicio, pero no en este tiempo si
hago clic en el botón Atrás, viene correctamente a la
pantalla de inicio y no ese dibujo anexar porque ya cerramos ella con el navegador dot pop. Entonces esto hay
que recordar porque cuando tenemos una aplicación
completa, no
quieres nada que no se coloque
en el usuario. El usuario se molesta o nada, tenemos que evitarlo. Así que asegúrate de tomar nota de estas cosas porque definitivamente dispones
más tarde después de un mes, podrías olvidarlo. Eso es todo. Eso está todo muy
abajo y dibuja una porción. Ese siguiente video estaremos hablando de navegación de fondo. Gracias.
25. Barra inferior de navegación: hoy estaremos
hablando de barra de navegación inferior. Lo dejo si
tenemos discutir qué es un cajón y
cómo implementarlo. Por lo que esta es otra navegación
muy a menudo. Y este widget se utiliza en la
mayor parte de la aplicación. Porque solo imagina que esta es la pantalla y en esta zona
que no es un lado inferior, hay algunas
opciones que mosaicos, es
decir, contacto domiciliario
o chats o lo que sea. Si hacemos clic en él, así limpio se cambiará. Por lo que este es un widget muy cool, que ha sido dado por
el marco de Florida. Y podemos agregar
esto fácilmente al andamio. Al igual que en ese cajón también. Hay un parámetro
en el andamio. Entonces probémoslo por nuestra cuenta. Y si ves hace
sintaxis en ese andamio, está esta barra de
navegación inferior, que acepta una barra de
navegación inferior, rígida, que tiene un par. El primer parámetro
es el índice actual. Es decir, qué pantalla es VR
en ese momento, en ese momento. Y el segundo son los artículos. De qué estos artículos que es el, que es el ícono o
puede guardar lo que nosotros, qué estamos
a punto de navegar. Es decir, ¿ chats
caseros son lo que
queremos mencionar en la UI? Y el tercero está de grifo. Eso es lo que debería
pasar si alguien toca esa opción de navegación. Por lo general tenemos que
cambiar esta pantalla. Y aquí en la sección de notas se
puede ver que debe haber más de un elemento de barra
de
navegación inferior para que funcione. Obviamente, si los
otros artículos múltiples entonces sólo pecan la navegación. Para una opción, ¿por qué alguien
usa una barra de navegación inferior? No sirve de nada. Entonces aquí en la imagen se puede ver de
lo que estoy hablando. Esto es lo que estamos a
punto de construir. Saca tu Código VS. Y ahora, Ok, No lo hicimos. Este es el error
por lo booleano. Nada mucho. Ya que ya mencionaste que necesitamos algún tipo de valor
booleano ahí. Comentario, tostado. Y así el andamio
usará la barra de navegación inferior. Y un nombre de widget es navegación
inferior, pero ahora tiene ítems. Índice actual por
ahora
solo diremos 0 ítems. Tendré barra de negación. No sé dar ningún icono. Debería serlo. Estaremos usando etiquetado porque lo ideal
se está depreciando
y etiqueta acepta cadena. Directo a casa. De igual manera, días y
pegarlo dos veces, digamos puede y
acabará aquí. Y cuando supongamos que
puedes dar pesadilla, mantendré simple. Y solo diremos, está bien. Y lo siguiente es en eso. Lo que da, que es una función
que nos da un índice. Simplemente imprimiré
el índice por ahora y veamos qué se
ha hecho. Ver usos de contacto domiciliario. Se ve tan bien. Cuando hago clic en
Contactar, el índice es 1. Cuando hago clic en
Usuarios, índice es de dos. Cuando hago clic en Aceptar.
Whoa, el índice es 0. Entonces de esto es de lo
que estoy hablando. Con este índice. Ahora vamos a hacer los cambios para que cada vez que
alguien haga clic en contacto, debe ir
a la página de contacto. O puedes decir aquí se construirá la página de
contacto. No, no estamos
navegando directamente, pero aquí sólo en esta pantalla, sólo páginas de Alda vamos a ver. Ahora lo que tenemos que hacer. Tenemos segundo bazo. Contamos con pantalla completa. Tu pantalla. Simplemente vas a la pantalla
y en la parte superior, menos tienen un entero que es 0. En segundo lugar debe ser una lista de páginas. Aquí. ¿Qué no debería pasar? Deberíamos escribir todas
esas páginas que necesitamos. Por lo que primero se debe suponer que el conjunto de pantalla es el contacto. Y tercero es éste que
es mi estado pantalla completa. Mi estado pantalla completa. Está bien. Tenemos todas las páginas aquí. Ahora simplemente terminan cuerpo. Aquí en el cuerpo. Voy a quitar todo
y escribir páginas. Entonces el índice está en el
principio mismo, sigue siendo. Pero cuando alguien hace clic en
algo, debería cambiar. Eso es estatal, el
estado debe cambiar. Y para eso tenemos que hacer de
ella una visión plena del estado. Ahora es un widget con estado. Cuando alguien toca esa navegación en
particular, dijo un estado del índice 2, este índice el cual estamos
recibiendo el d 0, 1, 2, 3. Entonces podrías estar pensando, ¿por qué? ¿ Cuál es la necesidad? Te volveré a explicar. Tenemos una lista de páginas, una posición en la escuela en casa, luego una posición
contextos limpios y para posicionar mi pantalla con estado. Y tenemos una variable
llamada índice, que comienzan inicializada con 0. Por lo que al principio, siempre se mostrará la
pantalla de inicio cuando alguien inicie
nuestra aplicación. Porque en ese cuerpo, tenemos estas páginas
y el índice es 0. Ahora, cada vez que alguien hace clic, eso está al toque en cualquiera de estos elementos de la barra de
navegación inferior. Ya sea
contacto débil o lo que
sea, su índice estará
tomando eso es uno. Y esa pantalla se mostrará. Saca el emulador y
mira que tenemos este contacto. Tenemos esta casa, y tenemos estos usuarios. Entonces, ¿qué escuela en casa en su lugar? Se trata de los hogares en Sibelius. Cambia la pantalla y
la pantalla así. Ahora la pantalla de inicio
es apropiadamente lo es. Y usuarios, tenemos toda la lista. Ahora no quiero
2 de esta parte app. Entonces lo que puedo hacer
ya sea puedo quitar la barra AB de la pantalla, esa es la primera pantalla. Volvamos a traer nuestra app de nuevo. Digamos que se ve mucho mejor. Ahora cuando me cambio en el
bar se cambia. Pero sí, sí, se
ve muy bonito. Además, podría estar pensando por qué este color no está cambiando, porque aquí no hemos
mencionado ese índice. Acabamos de leer 0. Pero aquí tenemos que escribir
ese índice variable. Y luego inténtalo de nuevo. Ahora, esta cosa azul, color
azul se mostrará
en lo que haga clic, Ver ahora el contacto es azul. Ahora cuando hacemos clic en los
usuarios, esto se destaca. Se ve muy bien. Ahora tenemos una interfaz de usuario muy
básica, al menos. Hemos aprendido cómo funciona
ese dibujo, cómo funciona la navegación inferior, cómo navegar de
una pantalla a otra. Entonces en este módulo,
hemos aprendido mucho. En el siguiente módulo
discutiremos más conceptos
de Flutter Framework. Hasta entonces, sólo practica y asegúrate de entender
todo el código de corazón. Gracias.
26. Dibuja profundas en el Widget de TextField: En este módulo, estaremos hablando de la virgen
TextFile. V se estará metiendo
muy profundamente en este widget porque es el único widget que
nos usaremos intensamente para
manejar la entrada del usuario. En cualquier aplicación. Ahí tiene que hacerlo. Tenemos que tomar alguna entrada, ya sea el nombre de usuario,
contraseña, lo que les gusta,
lo que no les gusta, cualquiera que sea la edad. Por lo que el campo de texto es una región muy
importante. Entonces, ¿qué es un campo de texto? Creo que
ya lo hemos discutido. Textos llenan Florida es el widget más
utilizado que permite a los usuarios recopilar entrada desde el teclado en una aplicación. Entonces este es un
fragmento de código que es la sintaxis de cómo
mostrar el campo de texto. Tiene algunas
propiedades como siempre,
decoración, ribete
y muchas más. Entonces para empezar. Y lo que me gustaría hacer
es quitarme las pantallas anteriores porque no
quiero tantas
pantallas en la actualidad. Si no quieres, solo
puedes
dejarlos como está. Pero como es un módulo nuevo, simplemente
eliminaría todo. Tenemos este archivo principal. Voy a crear un
nuevo archivo fuera de página, punto, punto. Como siempre. Simplemente voy a crear esta fecha
menos rígida de página principal. Y tendremos esta pantalla de inicio. Empecemos con este andamio. Usar entrada. Y en la fiesta tendrá un asistente de columna v cuya
principal existe alineación celular. El alineamiento estará en el centro. Y los niños. Ahora en eso niños, tendré este campo de texto. Porque con esa propiedad
declaratoria, podemos dar alguna decoración
como qué hacer, qué se trata este TextFile. Con este texto de nivel. Deberías escribir su nombre. Y frontera. Yo quiero
delinear frontera. Recarguemos nuestra aplicación
y guardemos la salida. Para comprobar este resultado. Es una pantalla básica. Hicimos relleno de texto en la parte inferior. También. Me gustaría envolver esta
columna con un widget de relleno para que tengamos algo de espaciado
por todas partes y se vea un
poco decente ahora. Además, si lo deseas, puedes haber enviado
dos de la APA. Asegúrate de recordar estas
propiedades practicando. Por eso te
sugiero que
escribas hace pantallas todas y cada una de las
veces por ti mismo, para que al final
del curso, aprendas todo ese código. Entonces recuerda todos esos
códigos de memoria, y no tienes que
revisar una y otra vez. Por lo que ahora tenemos estos
textos rellenados en daños y perjuicios. Pero debemos saber recuperar el valor
de ese texto. Ahora bien, si escribo, entonces definitivamente debería haber algún código para recuperar el
valor del campo de texto, que estaremos discutiendo
en el siguiente video. Gracias.
27. Añadir un controlador de edición de TextEditing: hoy aprenderemos a recuperar el valor
de un campo de texto. Ya tenemos este textual. Pero al menos debemos
saber cómo conseguir w, cualquiera que sea el tipo de usuario. Para ello, estaremos usando
el método del controlador. Entonces, ¿cuáles son los pasos? El primer paso es crear un
controlador de edición de texto como este. Aquí puedes ver tenemos una edición de
texto puede recolectar tipo. Entonces el controlador significa
que es el nombre de la variable, que es igual al controlador de
edición de texto. Ahora, adjunte ese controlador
de edición texto
al campo de texto. En ese campo de texto, definitamente el área es una
propiedad llamada controlador, a la que el valor debe
ser nombre de controlador oscuro. Ahora, el tercero es recuperar el
valor del campo de texto
mediante el uso de ese método de texto de punto proporcionado por el controlador de
edición de texto. Entonces aquí se puede ver esto
dará salida W, es decir, cuando escribamos ese nombre del controlador de
edición de texto, luego dot txt,
generará el valor de cadena. Por lo que espero que hayan entendido
los pasos de usar una
zancada de un kilómetro de largo por nuestra cuenta. Entonces aquí, en primer lugar,
definiré ese controlador de edición de texto y lo nombraré significa controlador, que será igual a controlador de
edición de texto. ¿ De acuerdo? Se hace el primer paso, que es este creado txt
y controlador de final. Segundo es en esa película oscura
Controller 28 textos. Tenemos este campo de texto aquí. A ver, ¿tiene una
propiedad llamada controlador? ¿ Aquí? Este es el nombre, controlador de nombre de
propiedad que acepta un valor de
controlador de edición de texto. Y nuestro aprendizaje se
nombra controlarlos. ¿ De acuerdo? Ahora, ese tercer paso es el valor del
campo de texto mediante el uso del punto txt. Ahora lejos que vamos primero por
debajo del texto para cuando deberíamos tener un botón elevado
y dejar una fecha. Y en ese niño, simplemente
escribiré letra impresa. Y elevado. Yo imprimo. ¿ Cuál es el nombre
del controlador? Controlador de nombre y punto txt. Está bien. Reiniciemos en el nombre. Quiero decir, correcto. Jeff Bezos. Y simplemente haga clic en Imprimir y
vea en la consola de depuración, son capaces de poner
lo que tenga en el campo de texto. También. Si quieres
mostrarlo en la pantalla. Diez simplemente podemos hacer de esta
página de inicio un widget con estado. Y este nombre controlador. Podemos tenerlo en alguna parte de aquí. Encima de ese texto
simplemente escribirá el nombre controlador dot text style x y tendrá un tamaño
de fuente del font-weight, font, weight, bold, y lays, dot. Lo que es bueno. Y de manera similar al OK. Y ahora sólo
tenemos esas pruebas. Eso es todo. Vamos a probarlo. ¿ Funciona o no? Ahora bien, si escribo
Elon Musk y hago clic en Imprimir C, podemos generar lo que hayamos escrito en la interfaz de usuario
esta vez no en la consola de depuración porque
estamos usando el estado establecido. Es solo, sólo quiero que practiques esto una
y otra vez y entiendas por
esta incredulidad del estado conjunto y Chen fue llamado de nuevo. Y ahora este texto tiene
este valor de Elon Musk. Otra forma es
recuperar el valor es que podemos dejar una
variable llamada cadena, nombre es igual a mt. Supongamos. Y en este campo de texto simplemente
podemos escribir en cambiado. Y aquí obtenemos el valor. Y este valor, esto, ¿cuál es el nombre? String es nombre debe llamarse tomó mientras
tú, eso es todo. Y podemos enviar probado también. Podemos simplemente establecer este estado. Y aquí el texto debe
ser simplemente nombre variable. Esta es otra
forma de recuperar el valor del campo de
texto al cambiar. Pero la mayoría de las veces, gente usa el
controlador de edición de texto en lugar
de esto sin cambios. Pero no es que no
puedas usar. Simplemente escribiré
nombre como quiénes eran. Ahí está muy bien. Nadie se me viene a la mente que presente simplemente Bill Gates. Pero mira, cuando estoy escribiendo, es actualizar la interfaz de usuario
porque en cadena es como cada vez que hacemos clic
en un teclado, un alfabeto, o
siempre que se cambie, se
reconstruirá toda
la pantalla. Eso es todo. Por lo que estas son las dos formas
de recuperar valor. La mayor parte de su tiempo será controlador de edición de
texto
sin cambios y obtener nuestros otros sensores de opción
como en país de edición,
completos en enviado. Estas son también otras
formas de conseguir W. Si quieres leer más, también
puedes buscar. Pero te he enseñado lo
más, lo más, utilizar la más aplicación o la forma más
grande de recuperar el valor
del campo de texto. Gracias.
28. Validación de entrada del usuario: En esta sesión,
estaremos hablando cómo validar la entrada de un usuario. Pero antes de eso, debes entender un nuevo widget
llamado widget de formulario. Involucrar un formulario virgen en tu aplicación simplemente
hace que sea más fácil validar un reset y guardar
múltiples campos de entrada a la vez. Y recuerda, usamos el campo de formulario de texto widget dentro de la forma en lugar
de solo textos realmente. Entonces estamos aquí, estamos
usando texto will. Pero ya que a partir de ahora estaremos usando completamente la
forma. Entonces tenemos que usar ese formulario de
texto lleno con él. Entonces lo que tenemos que hacer, simplemente antes que nada, me gustaría eliminar
este nombre y OnChange. Entonces para que el
widget de formulario funcione
simplemente envolverá esta columna
con el presupuesto. ¿ De acuerdo? Esta parte se hace ahora. Y este campo de texto debe
leer formulario de texto rellenado. Esto también se hace. Ahora la siguiente parte
es la validación de formularios. Entonces si estás construyendo
una aplicación, si
estás tomando
alguna entrada del usuario, Es muy necesario ¿es obligatorio que
valide entrada? Porque supongamos que tienes una
contraseña que debe ser mínima de ocho caracteres y el usuario escribe
solo cuatro caracteres, entonces no deberíamos permitirle que un número de teléfono debe ser
mínimo de 10 dígitos. No puede simplemente seleccionar
nueve dígitos e ir y dar un número falso
a nuestra aplicación. Entonces para asegurarnos de que esos adders
nunca pasaran con nosotros, tendremos unas reglas de validación de
forma muy fuertes. Por lo que para validar una
granja en aleteo, necesitamos implementar
principalmente tres pasos. Paso uno se utiliza un widget de formulario. Tomamos clave global. Entonces, ¿qué es esta clave global? Simplemente recuerda que es
una especie de estado el cual
vamos a combinar o se puede decir que nosotros, que vamos a dar a la
finca para que sepamos más
adelante cuál es el
estatus de la firma es validaciones están funcionando
adecuadamente o no para eso. Entonces es solo una sintaxis
que tenemos que recordar. No es pensar muy complicado. Simplemente le daré el nombre
variable de
clave externa y la pondré en azul voluminoso. Y luego aquí, forma estado. Esta es la sintaxis de
asignar una clave global de estado y simplemente copiarla. Y en el campo de la granja, tendrás esta propiedad llamada clave y solo
péguela aquí. De esta manera, puedes
asegurarte de que Lou voluminoso y
tu teléfono estén conectados. Ahora se hace el primer paso. En segundo lugar, usar textos de falló al dar la entrada
llena de propiedad validador. Por lo que existe esta propiedad de
mililitros que tenemos que usar. De acuerdo, vamos a hacer eso. Y el paso tres
lo crea 10 para
validar el campo de granja y
mostrar el error de validación. De acuerdo, primero
haremos el paso 2, que se le asigna unas
reglas de validez al formulario de texto. Por ahora tenemos que usar la
función validadora en ese texto lleno de diversión para validar
las propiedades de entrada que el usuario da
la entrada incorrecta. La función validador devuelve una cadena que contiene
un mensaje de error. De lo contrario, la validez
de la función devuelve nulo. Vayamos al campo de formulario de texto. Aquí. Simplemente tendré esta propiedad
validadora, que es un buen valor Shen Dao, lo que sea que se esté escribiendo. Aquí, simplemente comprobaré
si la cola está vacía. O se puede decir si
el valor es igual a. Ahora así. Ahora puedes ver la cadena
vacía así. Entonces gano. Se torna campo es obligatorio, de lo contrario,
devuelve nulo. Tan bien, y luego siguiente paso de
ley del toque era
crear el botón
que ya hemos hecho, que lo valida. Formulario rellenado. Entonces aquí, este es el código
que recuerdas, pero ahora es el momento de
usar la clave externa. Simplemente escribiré
qi dot state dot validate. Fecha actual de validación de punto
es igual a true. Se puede decir: Sí, simplemente
escribiré, imprimiré. Presentar 10 sexos
para Li k se extinguió. En primer lugar, Stefan. Y también
presentaré no imprimir. Se ve profesional. Dentro de cadena vacía. Si hago click en Enviar, consulte Phil se requiere. Entonces esta es la validación de la
que estaba hablando. Esto es muy importante porque definitivamente cuando
tienes un formulario de inicio de sesión o registro, tienes que mostrarle al
usuario estos mensajes de error como un feedback porque
el usuario no quiere simplemente quedarse en su
pantalla y no hacer nada. Y si yo, si escribo coqueteado
y luego imprimo Submit, entonces se pueden ver firmas
que hicimos con éxito. Entonces sí, así es como se
valida el campo de formulario. También puedes tener múltiples campos de
formulario. Simplemente te mostraré
un relleno de formulario más. Simplemente escribe nombre y contraseña y contraseña o
es orden adquirido? No, yo solo le
voy a dar una longitud. Valor longitud de punto
menor a tres. Si el valor de la longitud del punto es
menor a 3 y obtenemos contraseña debe ser
más de tres. Directores. Ahora tengo una nueva forma x libre, pero esta clave externa, esta fuente es suficiente
para validar tanto de
ese campo de texto como también
para el segundo campo de texto, debemos crear otro controlador de edición de
texto, que se nombrará controlador de
contraseña. Simplemente lo copiaré
y lo pegaré aquí. Ahora si escribo el nombre coqueteó, pero contraseña solo
doy 12 caracteres, entonces ver contraseña debe ser
más de tres caracteres. Ahora, si tengo cuatro caracteres y hago clic en enviar, formulario enviado
con éxito. Pero así es como se valida múltiples campos a la vez
usando la clave de formulario. Y es que, eso no es, usamos este widget para validar campos de formulario o
puedes decir campos de texto. Ahora, otro concepto
que debes conocer RE, que podría ser útil para
ti es salvar una firma. Si bien la construcción de la aplicación, probablemente
queremos guardar los datos del formulario
para hacer algo con eso. En este conjunto, solo crearemos algunas reglas de ahorro
para otros campos. Y luego cuando llamemos
al Ancef mi papá, ejecutará
esas tres reglas. A lo que me refiero con eso es
en ese campo de texto, aparte de validador,
tenemos muertos propios en salvado. Y simplemente
imprimiré aquí. Simplemente imprimiré un nombre. El campo se guarda. Y en su validez eso se
aísla en guardado e imprimir. Se guarda el campo Contraseña. Y para asegurarnos de que se ejecute
este código o esta función, simplemente
escribimos clave externa, dot current state dot save. Eso es todo. Por lo que tal vez lo necesites en algún lugar. Depende de ti. Pero al menos debes saber que estos conceptos también ahí. Cuando entramos a la
app y de color gris, voy 2345.
Y haga clic en Enviar. Ver ninfal la misma
contraseña para listas guardar, y luego formularios
enviados con éxito. Entonces aquí acabamos de
imprimir valoración de inicio, pero se puede utilizar para asignar
el valor dos variables, r y hacer alguna red llamando a
lo que eran SET, sí estado o lo que
quieras, Depende de ti. Pero cada propiedad o cada método se está utilizando
para algún propósito determinado. Y ahora le toca a un desarrollador lo que quiere y
lo que no quiere. Pero espero que hayas
entendido cómo validar un campo de formulario y
asegurarte de que el usuario no
ingrese lo que quiera. En la próxima sesión, estaremos hablando más ese campo de texto y
sus propiedades. Pero hasta entonces, espero
que estén disfrutando.
29. Decoración y otras propiedades: Entonces hasta ahora hemos
aprendido a usar características del campo de texto, a validar,
a guardar y lo que sea. Pero ahora haremos que
se vea bien también. Por lo que para decorar los textos se reutilizará la propiedad declaratoria, que toma como valor una
decoración de entrada. Vamos a probarlo. Por lo que tenemos este campo de texto
fuera de nombre. Aquí. Ya tenemos esta
declaración propiedad la cual está aceptando
decoración de entrada su valor. Por lo que ahora primero es texto etiquetado, que utilizamos para dar
información al usuario. Ahora sólo tendré que
quitar esto. Y el segundo es el texto de la pista. Por lo que dice una solución. Por lo que sólo escribiré tu nombre. Está bien, vamos a ver. Se puede ver primero es
usar las
propiedades de sugerencia y nivel para dar
información al usuario. Ahora cuando hago clic en el nombre, se
puede ver que hay
esta cosa adicional. Eso es correcto, tu nombre completo. Entonces y cuando escribimos
algo, se quita. Y cuando está vacío, se muestra de nuevo. Segundo es que puedes agregar
iconos usando Puedo prefijo, puedo agregar sufijo, puedo agregar propiedades de
la decoración de entrada. A lo que quiero decir con eso está dentro
de la declaración de entrada, primero, te voy a mostrar. Yo puedo. Yo puedo, puedo empezar. Ahora. Está bien. Echa un vistazo. Ves, tienes este ícono aquí. Ahora cuando digo prefijo una lata, Es lo
mismo en Linden Lu están bordeado, se extiende. Viene dentro de la frontera. Cuando estamos escribiendo prefijo y sufijo, puedo. Tenemos este ícono en
el lado derecho. Entonces sólo esta es la
diferencia. Nada mucho. Pero hay finitamente, este ícono le da un
montón de eficiente y mira, me gusta ese prefijo uno, así que simplemente lo dejaré
con ese prefijo que puedo. Está bien. El siguiente. También puedes dar polvo
para agregar productivo, quitar sobre él
con un campo de texto. Entonces en este momento, si no estamos escribiendo o dado alguna
hermosa propiedad, entonces abajo están el trueque abajo
ya es días por defecto, puedes quitar eso también. Para quitar eso, simplemente
tenemos que
escribir entrada, hamburguesa y guardar. Y ver que debajo de la frontera es. Pero si eres como yo, eso es que me gusta toda la frontera. Por lo que nuestro parámetro de entrada de plan es el valor que
tenemos que
asignarlo para que tenga un borde
desde todos los lados del mismo. Y se ve muy bonito. Y además, me
gustaría dar algún
espaciado entre textos, rellenar formulario de texto apto para eso me llamarán grazones psi. Simplemente regalos y, uh, darle una altura de 20. Para que exista este espaciado entre los
dos textos, campos de granja. Ahora la tercera
declaración que podemos utilizar es el uso de textos ayudantes. Si no quieres una etiqueta, pero quieres un
mensaje persistente para el usuario. A lo que me refiero con eso es en ese formulario de texto de
contraseña rellenado, simplemente
tendré
el texto auxiliar y la contraseña debería ser. Jefe, mayor a tres. Está bien. Está bien. Has visto textos etiquetados, le has visto textos. Ahora, veamos cuáles
son los textos de ayuda. Y mira aquí, Siempre está ahí. Si hago clic en la contraseña, entonces también se mostrará aquí
no se eliminará. Por lo que es bueno
asegurarse de que el usuario no haga ningún error porque podría no saber
que su aplicación, excepto contraseña en legalmente entonces tres caracteres
en ese caso sostuvo. Propiedad de texto es muy útil. Ahora. Y lo siguiente es que también puedes cambiar las propiedades del teclado
para TextField. Es decir, los tipos
son textos de entrada, tipo de
entrada, texto,
es decir teclado normal, luego tipo de entrada de texto número de punto, dirección de correo electrónico
numérica, teclado
normal,
nosotros, tendemos al signo de tasa, fecha, hora, luego multilínea. Entonces ejemplo para eso es que voy a tener un nombre,
supongamos entonces nombre. Y recuerda que este tipo de teclado es propiedades fuera de la declaración
de entrada aquí. Y hay un tipo de teclado, texto, tipo de entrada
número de punto, y eso es todo. Y diré, y cuando haga clic en Nombre ahora, vea este
teclado numérico aparece. Por lo que esto se usa cuando
estás pidiendo edad o puedes ahorrar
mayormente número telefónico. Para eso, hay que usar
esta técnica de teclado. Ahora bien, ¿cuál es el significado de
este texto oscurecido para ocultar texto en si TextField configura la propiedad de texto de
falda a true, usamos mayormente en
un campo de contraseña. Entonces definitivamente, ya sabes, cuando el usuario es y
durante su contraseña, no
queremos que esté
en los alfabetos normales. Queremos ocultarlo. Para eso, sólo tienes que ir
al campo de formulario de texto fuera de
la declaración de entrada, ¿verdad? Textos oscurecidos y
acabo de dibujar. Y guárdalo. Ahora cuando vas en el autobús
lleno de líquido y tipo f, l, tú el ER. Para que veas que la
contraseña está oculta, solo puntea y no
el alfabeto adecuado. Por lo que es la mejor práctica porque el usuario también
llena que eres, que esta aplicación
sea segura de usar. Ahora, la siguiente propiedad o el siguiente campo de texto de característica está controlando los caracteres max, Codex Wilkin los controla, los números de caracteres de
Mac,
un término dentro de él. Entonces si sabes intuitivamente
A alguna longitud, ¿esa es nuestra limitación? ¿ De la misma manera? Podemos tener esta limitación. Supongamos que en el campo de nombre, simplemente
podemos escribir longitud máxima de 15 que dicen, más que eso. estará el
nombre de la persona muy clara. Entonces solo diré aquí
es numérico alfabético. Pero desde que comiste 15, si trato de cruzarlo No. Ahora más que eso, no
puedo escribir. Por lo que espero que hayan entendido las propiedades o la
declaración de ese campo de texto. Se puede utilizar la misma declaración en el campo de formulario de
texto cuando estamos
usando un widget de formulario también. Entonces esto es, he escrito que quieres aprender sobre cómo
trabajar con archivos de texto. En el siguiente video, acabaremos de aprender sobre
algunos widgets nuevos como alerta, cuadro de diálogo y snack bars. Entonces hasta entonces, solo
sigue practicando.
30. Widget de diálogo de la alerta: En esta sesión
estaremos hablando la nueva versión llamada
el diálogo de alerta. Por lo que un diálogo de alerta es una característica útil que
define al usuario con información
importante para tomar una decisión de proporcionar la capacidad de elegir
una acción específica. Entonces en palabras simples, si quieres dar algo
así como una alerta emergente, el usuario tiene que seleccionar sí o no son conformes
para esos 10, podemos usar un cuadro de diálogo de alerta. ¿ Cuáles son las
propiedades clave de la caja? Esas son acciones. Ese es el conjunto de
acciones que se muestran en la
parte inferior del diálogo. Típicamente botones, que
ya esbozé es Canson son, estoy de acuerdo Ese tipo de botones luego aprietan
que me encantó ese diálogo se muestra
en una fuente grande y la parte superior del diálogo
en palabras simples, supongamos, ¿estás seguro o
una advertencia son importantes? Este tipo de palabras clave,
luego contenido. Esto da una descripción del mensaje sobre el título que
habrás proporcionado. Entonces puede ser simplemente como, ¿
estás seguro de que
quieres desactivar tu cuenta luego de las
acciones puedes tener una conjetura, IM o no, eso es solo
un escenario que estoy diciendo. Entonces simplemente
color de fondo o alivio. Por lo que para mostrar una alerta, debe tener que llamar a la función
show dialog, que contiene el contexto y
la función de constructor de elementos. Entonces aquí se puede ver que la
sintaxis muestran el diálogo, luego los contextos,
los contextos aceptores reales y su factura. Hay una función que
devuelve un diálogo de alerta. Entonces probémoslo por nuestra cuenta. En el último video, lo
hicimos hasta aquí. Ahora, la validación del proveedor es
verdadera y se guarda el formulario. Entonces podemos mostrar un diálogo como show dialog. Y luego en ese contexto, será contexto. Pero el constructor, querido
Will we function, que devuelve un diálogo de alerta. ¿ De acuerdo? Entonces en el
diálogo de alerta, esa propiedad de título, usaré como 10 Q. Supongamos. Entonces en ese contenido, escribiré ese texto de
enviado con éxito. Enviado, con éxito. Entonces en eso acciones, es
decir, agua, los botones que me gustaría
proporcionar son algún tipo de acción que un usuario
tomará de este diálogo de alerta. Tendré, lo siento, no texto. Tendría un botón elevado el cual escribirá texto. Y simplemente K. Y después de
cuando lo usen, haga clic en esto, vale, quiero que este diálogo
desaparezca, esto salga. Por lo general, lo que puedes hacer
es algo así como hecho. Entonces también puedes navegar
a diferentes pantallas. O si tienes un botón de cancelación, entonces esta
función de punto pop del navegador tienes que usar para
que el usuario de nuevo, esto elimina ese
cuadro de diálogo de la pantalla y vuelve de nuevo
a la pantalla anterior. Veamos nombre. Escribiré coqueteo
y contraseña 123456. Enseguida, somete y vea esto. Estaba hablando de este tipo
de pop up con ese título. Tienes 10 Q y establece
el contenido aquí. Y cuando hago clic en
este botón de OK, ver ese cuadro de diálogo o cuadro de
alerta desaparece. Y además aparte de las acciones, estas son las
propiedades que acepta. Hay alivio,
su color de fondo. Si escribes
colores de fondo, acentúa, y luego rellena
alrededor de ese contenido. Y ver puedes dar piling titulado agregando
un búho en esa forma, puedes tener borde
rectángulo redondeado o
algo por el estilo. Por lo que se puede tener redondo y luego googler frontera, radio de
frontera. enfriador de configuración de radio fronterizo obtendrá 10. Veamos de nuevo qué hace este color y
forma de
fondo a nuestro cuadro de diálogo de
alertas. Conociendo entonces nombre, dejaré revolotear otra vez, contraseña 123456. Ahora cuando hago clic en Enviar, mira que el color es rojo y las fronteras se ven muy bien aquí
porque está rodeado. Por lo que se puede decir que puede
ser una alerta que es algo salió mal o algo por el estilo.
Depende de ti. Y si hace clic en
cualquier lugar fuera también, entonces también desaparece el
diálogo de alerta. Por lo que no siempre es necesario. Podemos si queremos, también
podemos asegurarnos de
que eso no suceda. Pero supongo que hay una propiedad
diferente para eso. Si quieres estudiar
más al respecto, solo
puedes explorar
por tu cuenta. Pero un básico,
ahora hemos aprendido a,
a utilizar un diálogo de
alerta básica en nuestra aplicación de aleteo. Por lo que en la siguiente sesión
o en el siguiente video, también
hablaremos de un nuevo widget, que es el snack
bar. Gracias.
31. Mostrar bocadillo: En la sesión anterior
hablamos de diálogo. Por lo que en esta sesión, estaremos hablando de un nuevo widget llamado
el widget de snack bar. Widget de Snack bar se utiliza
para mostrar mensaje corto. Normalmente se muestra en
la parte inferior de la pantalla. Y también maldito mensaje se muestra por un periodo de tiempo muy
corto. Y proveedor un tiempo
específico y proveedor se completa, desaparecerá
de la pantalla. Entonces cuando estamos usando
el snack bar, ese usuario no tiene que
hacer ninguna acción al respecto. Bastante no interrumpir su aplicación sólo pero cuando estábamos
usando diálogo de alerta, nos
da hip pop up. Por lo que ese usuario, cualquiera que
sea la pantalla en la que estuviera trabajando estaba usando, eso será interrumpido. Pero snack pero es muy ligero y
solo viene y se va. Se, sí envió. No hace que la
experiencia sea incómoda, lista, desagradable para el usuario. Entonces esta es la sintaxis. Es un snack
bar básico y luego contenido. Aquí, el contenido acepta como valor a
una virgen, que suele ser textos visitados. Ahora, ¿cómo exhibir un snack bar? Para mostrar snack bar v, hay que utilizar este código que es andamios messenger
dot off context. Y después de eso podemos
entonces mostrar snack bar. Vamos a probarlo. Ahora. Yo en primer lugar comentaría
abajo este cuadro de diálogo. Y aquí voy a mostrarnos snack
bar con simplemente andamio, messenger dot off context dot C. Aquí tienes show snack bar. Y dentro de ella solo
tienes que escribir neg bar. Y en ese contenido, se
puede escribir formulario enviado con éxito. Está bien, probémoslo. Trae tu emulador. Nombra la contraseña 123456. Ahora, cuando hago clic en el Enviar, ver formulario enviado con éxito, y después de dos o tres
segundos, desaparece. Por lo que es una muy buena
retroalimentación para el usuario. En caso de que haya algún error. Supongamos que el campo de contraseña
o el usuario ya existe. Por lo que este tipo de mensajes de error
son mensajes de éxito
se pueden mostrar usando
el snack bar. Ahora también aparte del contenido. Por lo tanto, snack bar tiene otras
propiedades también. Al igual que la acción. Es decir, supongamos que también puedes tener algo como
despedir, cancelar, botón OK. Igual que el cuadro de diálogo de alerta. Entonces fondo-color. Supongamos que voy a añadir
colores, punto-punto, leer, no leer,
ya que dice éxito, entonces dejaré verde. Después hay margen, forma
de relleno, duración también. Es si quieres que la
duración sea menor. Entonces aquí puedes tener segundos y
simplemente escribiré 1 segundo. Ahora intentémoslo de nuevo. Coquetear. Después 1, 2, 3, 4, 5, 6. Y presentar. Y C formulario enviado
con éxito. Y ahora como
era uno, Segundo, desapareció más rápido
en comparación con el anterior. Antes, supongo que fueron dos
o 3 segundos, uno por defecto. Ahora depende de ti
cuánta duración quieras. O también si, suponga si
hay un editor, puede tener el color de
fondo es rojo. Por lo que es una muy buena
retroalimentación para el usuario. No se confunde por qué no es capaz
de iniciar sesión o algo así. Entonces solo recuerda este cuello pero es muy importante para widget. Y supongo que cuando se compara con
un cuadro de alerta, dejar diálogo v estará usando
snack bar con más frecuencia en nuestra aplicación más
adelante. Entonces eso es todo. Para este módulo. Hemos aprendido a utilizar texto visitará
cómo recuperar su valor,
cómo validar, cómo validar, entonces ¿cuáles son las
propiedades del campo de texto? Y luego Andy y nosotros hemos aprendido de
estos dos nuevos widget, que es el diálogo de alerta
y ese snack bar. Por lo que en el siguiente módulo, estaremos iniciando un nuevo tema. Tilden. Sólo sigue practicando.
32. Comprender futuros: Hola, bienvenido al
nuevo módulo donde estaremos discutiendo sobre
nosotros programación sincrónica. Entonces si eres nuevo
en este concepto, podrías estar pensando
¿qué es un sincrónico? ¿ Si ves de cerca? Simplemente de una
manera normal de escribir códigos, los códigos se están
ejecutando línea por línea. Eso es de arriba a abajo. Y hasta que una funcion
completa ejecución. La siguiente función tiene que esperar. Por lo que esperará hasta
que
se ejecute esa línea de código y
pasará a la segunda línea. Pero en la programación asíncrona, mencionamos las
funciones que pueden tardar tiempo en ejecutarse y
esperar el terreno de
incrustar de terminación sin detener la ejecución de
la siguiente pieza de código. De esta manera, se logra
la ejecución paralela del código. Así que simplemente asuma
que está cargando algún archivo a la base de datos, al servidor. Entonces hasta que el archivo pueda ser grande y puede tardar algún
tiempo en ejecutarse. Entonces en viales que
se está subiendo phi, también
puedes servir navegar o hacer algunas otras
cosas en la app. Para que no tengas que esperar
hasta que se complete un 100 por ciento. Entonces este es un ejemplo muy
bonito, los otros diferentes
también. Entonces cuando lo vamos a
hacer prácticamente. Entonces entonces en ese momento lo estás, tus dudas o
conceptos serán más claros y
lo entenderás adecuadamente. Eso es todo. Entonces cuando hablamos de programación
asíncrona en esos dos términos que nos
vienen a la mente, nuestros futuros y flujos. Entonces estos son los dos modos de los tipos de nosotros los programas
sincrónicos. Se puede decir. Lo
discutiremos uno por 1. En primer lugar, discutiremos
qué es un futuro. Entonces si usted silla es
simplemente cuál es su nombre. Deuda es que los datos vendrán
después de algún momento en el futuro. Imagina que vamos a
pedir algunos datos de
base de datos y el resultado será devuelto
después de unos segundos. Por lo que definitivamente sede. Inicia tu
aplicación de Instagram o Facebook. Toma uno o dos segundos
para refrescar tu feed. Tan tiempo muerto, podrías
ser capaz de hacer algo, pero es posible que no. Depende de ellos, pero ese es un
ejemplo de futuro. Es decir, que los datos
vendrán incrustar en un futuro cercano. Y es una garantía de que algo vendrá
del final. O es un dato
o es un nulo. Si no hay datos, sólo hay
que recordar ese concepto. Eso es todo. Entonces ahora se nos entiende
lo que nuestros futuros, es el momento. Sabremos
definir el futuro. Si tú, Chad se define exactamente
como un funcionamiento que, pero solo usamos futuro
como prefijo, prefijo. Se puede ver como ese tipo
de datos tipo de retorno. Si desea mantener el tipo de
retorno de la función, entonces puede escribir este
futuro luego escriba I que
esa función está
devolviendo algún tipo de cadena, booleana o void. Es decir, no está
devolviendo nada, pero va a estar haciendo algo. Dicho esto, ahora, sabemos cómo, cuál es nuestro futuro,
cómo definir una característica. Ahora es el momento.
También sabemos usar el futuro en nuestro programa. Hay dos formas de
ejecutar un futuro usando Dan catch y
usando async await. Por lo que los eventos futuros
Normalmente
las solicitudes de red son la
operación de entrada-salida es decir, desde su propio dispositivo. Ahorrará algo o
recuperará algo. Pero aquí simularemos nuestra solicitud falsa y de red
usando Future dot delayed, lo que nos ayudará a
entender el concepto sin llamar a una
API real en este momento. Porque en el siguiente módulo, estaremos trabajando
con datos reales, que se convertirán a
partir de una API dedicada. En ese momento también, estaremos usando futuros. Pero con el propósito de
entender el concepto, simplemente
falsificaremos o simularemos escenario de muerte
en nuestra aplicación. Este punto futuro retrasado toma
dos argumentos dentro de él. Entonces para ejecutarlo, tenemos que pasar dos argumentos. En primer lugar es la duración, que
especificará cuánto tiempo
tardará en ejecutarse. Y segundo argumento es una función que
debe ejecutarse después de que se
termine esa duración de tiempo, se completa. Ya basta con la parte
teórica, podrías estar pensando ,
vale, he entendido algo pero
habrá muchas dudas. Para despejar esas cosas. Saca tu editor de texto. En el archivo de hoja,
voy a crear un nuevo archivo de futura pantalla dot-dot-dot. Aquí. Material de importación, como siempre, tener una visita con estado
de futuro pantalla. Entonces simplemente andamio parte de la aplicación. Entonces sólo voy a dar futuro. Está bien. Ahora en el cuerpo, servicio de
plomo y televisión, luego niño teniendo botón
elevado. Y en ese texto
simplemente puedes decir, Haga clic aquí. Eso es todo. Ahora, ve a la media y haz esa pantalla futura tu
pantalla predeterminada , el archivo principal predeterminado. Está bien. Sí, tenemos esta página. Ahora lo que haremos es crear una función que
será un futuro. Simplemente crea un vacío futuro. No devolverá
nada por ahora. Después dele el nombre
de Get Data e AI. Entonces lo que podemos hacer es usar
Future dot retrasado importó. Ver Future dot método retrasado
para falsificar una llamada a la red. Ahora la escucha de que los datos deberían
aparecer después de tres segundos. ¿ Y qué debió haber estado aquí? ¿ Qué debe hacer? Lo que se debe hacer
es que se imprima. Es aleteo. Desarrollador. Porque aquí el primer argumento fue la duración y el
segundo argumento o como una función que debe ejecutarse
después de que se retrase este punto Futuro. Dinamita se hace el
distrito segundo. Y la siguiente línea de
código que vamos a escribir aquí es línea aleatoria de código. Sólo imagínate, sólo
recuerda esta cosa. Y como es un futuro, debe
ser sincrónico. Tenemos que escribir un fregadero ahí. Es, es una cosa que hay
que recordar todo el tiempo que ese aleteo debe saber que esta función es
una función asíncrona. Eso es todo. Ahora, copia esto, consigue datos
, presiona ejecutarlo. Ahora. Ahora solo ahorra También si quieres. Se puede tener, de nuevo, dos futuros sólo por el bien de comprensión y dará un t segundo final por
debajo de 12 segundos. Si estás recibiendo envidia, solo
puedes pausar
el video e intentar entender ese código
una y otra vez. Ah, está bien. Ahora, si vemos nuestro código de
arriba a abajo aquí, ID de
usuario debería ser lo primero. Entonces esto, oye, es un desarrollo
aleteado, esos son los datos del usuario. Y entonces esta línea aleatoria
de código es la última línea. Pero cuando hacemos clic en el botón, ver lo primero que se ejecuta o que se imprime
fue línea aleatoria de código. Entonces eso, oye, es desarrollador
inundado. Y por último el ID de usuario. Para que se pueda ver que los futuros. ¿ Qué es un futuro? Es decir, tomará algún
tiempo de descanso dos o tres segundos. Pero después de eso, el valor, obtendremos el valor o se ejecutará
el código. Pero no se detiene. Entonces eso fue
lo que no esperó tres
segundos para ejecutar. Simplemente fue directamente para
imprimir una línea aleatoria de código. Y acaba de ejecutar
esa línea de código. Entonces esto
nos está ejecutando sincrónicamente, pero hay un tema. Es decir, el nombre de usuario debe ser recuperado solo después de ID de usuario. Eso significa que debemos
esperar a que se ejecute una función. Simplemente imagina si esta
es tu app de Instagram, entonces cuando la app está llamando a la base de datos para
la información del usuario, son el ID de usuario. Después de eso, sólo, la pantalla de inicio debería
aparecer con esos detalles. Sin los detalles,
debe esperar y no, y no debe ir
a la siguiente línea. Para tal efecto. Utilizamos Esta captura Dan. Por lo que usar esto entonces
atrapar significa después esta duración son estos
futuros se completa, entonces sólo hacer hace segunda línea de código son entonces
sólo hacer la segunda cosa. Entonces sólo espera y
trata de entender. Dot Dan está apegado al final
mismo de la función. Entonces aquí, antes de este punto y coma, solo
voy a dar clic en
punto y luego ver hay algunas cosas y
usaremos punto-punto. Entonces lo que significa es primero que el futuro debe ejecutarse y
tomará tres segundos. Después de tres segundos cuando se haga
este sprint. Entonces sobre Likud a esta
línea de código, eso es todo. Y luego cogerlo y gana. Si mientras ejecutaba esta
función, si algo, algún error o
algo salió mal, entonces éstos deberían, por ahora
imprimir punto print que agregó. Pero por lo general hemos dado una retroalimentación al usuario usando un snack bar o algún cuadro de alerta. Entonces si recuerdas
la salida anterior, era una línea
de código aleatoria al principio, luego odia a Florida
y luego ID de usuario. Pero ahora queremos un ID de usuario. Esta línea aleatoria de
código se ejecutará primero porque esto es un futuro
y tomará algún tiempo. Entonces sí, No va a
esperar e ir directamente. Pero se puede ver en esta
salida que el ID de usuario, tenemos el ID de usuario y luego solo tenemos el detalle de los usuarios. Por lo que hemos
conducido con éxito, escrito una función futura en
teatro y también hemos aprendido a ponderar o a utilizar el error catch mientras se
trabaja con futuros. Espero que hayan
entendido el concepto. Si tienes algunas dudas, te
sugeriré que solo
tengas paciencia y Vig. Porque en los próximos
dos o tres módulos, al final de los tres modelos, definitivamente tendrás
todas tus dudas claras porque este es solo
un ejemplo muy ficticio. Pero cuando estamos construyendo aplicación
real,
se marchitará. De acuerdo, Por esta
razón, mientras estamos, mientras ustedes están aprendiendo
estas cosas son, este es el
escenario de caso de uso para 10. Entonces eso es todo. En la próxima sesión, estaremos hablando de esto. Estaremos hablando de
este fregadero y esperaremos. Porque usar Dan jaula y usar asincrónico y esperar hace
lo mismo, pero están muy lejos. Escribir código es diferente. Eso es todo. Espero que practiques y estés
practicando mucho. Nos vemos en el siguiente video.
33. Concepto Async Async Async: Por lo que en esta sesión
estaremos hablando de palabra clave async await mientras se
utiliza un futuro. En esa sesión anterior, aprendimos a
usarlos catch error, y definitivamente funciona bien. Pero también hay una sintaxis
alternativa que muchos finan para ser mucho más legible y también para evitar cadena múltiple
de la jaula del dengue, usamos una palabra clave sync. Después nuestro nombre de función, y agregar palabra clave await antes de cualquier cosa que necesite
algún tiempo para ejecutar eso. Sólo por ejemplo, nuestra
solicitud GET o este futuro retrasado. Ahora, todo después de esa espera se ejecutará cuando se haya devuelto el
valor. Entonces lo que quiero decir con eso es que se
puede ver la sintaxis. Tenemos este futuro
y futuro nombre. Entonces esta función tiene
esta palabra clave del mismo, lo que simplemente significa que esta
variable de impresión solo funcionará si este futuro financiero
devuelve ese valor o no. Entonces vamos a probarlo. En primer lugar, si
quieres, puedes hacerlo con el
mismo ejemplo si queremos. Ahora, tengo esta función fuera de esas diez en punto
y la voy a quitar. Ahora. Supongamos que esta función devuelve un ID que es
uno y V tienen este id almacenado en una variable
llamada ID de usuario. Pero ahora, pero ahora esa cosa es V1, ese ID de usuario, y
tráelo aquí. ¿ De acuerdo? Entonces si lo hacemos en este momento, definitivamente, mostrará agregado o algo así como nulo. Si, hay, su futura
instancia de usuario un futuro que significa que el valor
no se ha almacenado en
esa variable ID de usuario. Deberíamos esperar. Y aquí viene la
palabra clave peso, que simplemente significa
esta función. Después de que esta función se ejecuta, entonces en código de líder
irá a esta línea. Entonces ahora lo que verás es
cuando haga clic en este botón, este código aleatorio de
línea no se ejecuta. En primer lugar. Esto se ejecuta. Entonces esto porque está sincronizado, no
hemos dicho que esperemos aquí. Y ahora esto tiene
este valor de 1. Pero este concepto es muy, muy, muy importante porque cuando estamos construyendo con
Firebase y bases de datos, el futuro se utilizará
todo el tiempo que yo soy. Entonces por eso hay
que entenderlo. Esta función esperar claramente
esperar palabra clave voy a decir. Ahora dirás que no, quiero esperar esto también. Y por fin se
deben ejecutar las cotizaciones. Por lo tanto, simplemente escribe una función de
peso. Antes de esta función. Y ahora verás
el cambio de salida. Primero, ID de usuario, segundo,
oye, es aleteo. Y luego línea aleatoria de código. Porque tenemos nuestra
solicitud a Whittier. Hasta entonces, no vayas
a la siguiente línea. Entonces es un concepto muy
importante. Por favor intenta volver a
practicarlo en un niño. Ahora podrías estar preguntando qué pasará si
hay algún tipo de error. Para eso, utilizamos este bloque try catch para
captar cualquier error de red. Y hacia esas cosas de
aquí, Eso es todo. Y en la captura si quieres, solo
puedes traer dirigida. Porque anteriormente
teníamos entonces y cogerlo. Pero ahora cuando estamos
usando async await, deberíamos usar ese bloque try
catch también. Y hundir no significa que
solo tengas que
crear este tipo de función de TI
separada. Ahora, supongamos que tenemos esta huella. Segunda función. Supongamos. Ahora, ¿qué pasará? Cuando hago clic aquí, ver segunda función
se ejecuta primero. Y entonces esto consigue la duda porque aleteo sabe
que es un futuro. Entonces, que no esperó aquí y se fue a esta línea de código. En este escenario. Nuevamente, si dices que no, quiero es obtener datos
para ejecutarse primero, luego en labio imprimir esta segunda línea de
función de código. Entonces otra vez tienes que usar un
fregadero aquí y un peso aquí. Ahora echa un vistazo a tu salida. Y pudimos usar, es una función también, y esta también fue una función. Por lo que tienes que
entender que solo
necesitas una función
para que nosotros trabajemos. Ahora bien, esta línea se
ejecuta primero y ver, se ejecutó en ese último. Entonces espero que hayan entendido profundamente
el concepto de asíncrono, aguardan y futuros. Debido a que este concepto es tan importante que
dudamos de este concepto, no se podría trabajar
en ninguna aplicación posterior. Y no te pongas no
te abrumes por ello. Porque sé que es un concepto muy nuevo si eres nuevo en esta lata de programación. Y si no lo has entendido
todo, está bien. Porque como principiante, entiendo que
tendrás alguna duda. Tendrás que practicar mucho, pero eventualmente lo conseguirás. Eso es todo por hoy. Espero que estén disfrutando de
nuestras sesiones fotográficas. Y también cuando
no estás viendo nuestros videos, solo
estoy confiando en ti que estás
practicando por tu cuenta. Y Q.
34. Qué son Streams: Hola. En esta sesión
estaremos hablando de streams. Antes hemos discutido
qué es un futuro, pero ahora es tiempo nodo V, el segundo tipo de programación
sincrónica
que estos flujos. Entonces cuando estamos usando streams, entonces tenemos muchos valores siendo
buscados y honestamente,
y en lugar de anexar una conexión una vez,
como en el futuro, podemos hacerla permanecer abierta y lista para nuevos datos para entrar. Simplemente, se produce cualquier cambio o se inserta
cualquier dato nuevo, se reflejará al final. Future tiene sólo una respuesta, pero stream podría tener
número de respuestas. Simplemente, me gustaría decir
que cuando estamos usando un futuro, si algo cambia ya sabía notificar o aparece nuevo
mensaje, que un usuario tiene que refrescar
esta página o aplicación. Pero cuando estás usando streams, es en tiempo real. Es decir, cualquier cambio de datos, su base de datos se reflejará directamente en sus deudas de
aplicación. Se. No tienes que tener, no
tienes que
pensar en otra cosa. Esta es la diferencia básica. Entonces en el siguiente módulo, estaremos hablando de streams más prácticamente porque
estaremos usando Firebase. Aquí volveremos a
simular nuestro falso, evento que devuelve un nuevo
mensaje cada pocos segundos, solo para hacerte
entender ese concepto. Por lo que hay cuatro
pasos involucrados. Crear streams, agregar
datos a un stream, escuchar un stream y luego cerrar una cadena. Hagámoslo prácticamente. Saca tu
editor de texto y ten un nuevo archivo llamado stream. Captura de pantalla oscura. De nuevo,
lo mínimo desnudo que necesitamos, ¿verdad? Está bien. Voy a usar el menos rígido porque la IU
no se ha cambiado. Stream, pantalla, denso, andamio, Dann die Daten flujo de texto. Ahora, lo que haremos es simplemente
crear un arroyo. Y para crear esta corriente, tenemos que predecir controlador de
flujo, que se utilizará para
controlar esa corriente. Stream. Controlador de corriente
se debe pierna esto. Y esto se
importa automáticamente porque estamos
usando streams y odd. El segundo paso es
agregar datos a la corriente. Para simplemente para eso, crea una función
llamada datos de flujo. Y aquí se puede tener un bucle for de int I es igual a 0, yo menos de 4, I plus, plus. Y luego
controlador stream dot add. Recibiste el mensaje. Y entonces sólo
esperaré dos segundos aquí. Entonces sólo es FOR bucle
se ejecutará de nuevo. Esto segundos para, eso es todo. Nada más. Ahora en el cuerpo. Vamos a tener un
aliviado, pero hecho. ¿ De quién brillo? Cuando hacemos Click para transmitir. Entonces en el principal,
hazlo por defecto. Pantalla y solo
reconstruir o la estata. ver. Tienes esto el arroyo. Y sólo lo vamos a
centrar. Está bien. Ahora en ese flujo de datos, voy a parecer, por favor
lista, empieza a escuchar. Haz, hace árbol. Eso significa escuchar significa que entra
cualquier dato nuevo. Cada uno debe imprimirse. Simplemente imprimiré datos. Y los datos de cadena que
asignaré a esa función. Sé que aquí hay muchas
cosas por entender, pero sólo se pueden ver pasos de polvo. Primero a nosotros creando
un nuevo arroyo. En segundo lugar fue agregar
datos al arroyo. Cansado estaba
escuchando el arroyo, que simplemente significa qué? Eso simplemente significa, que
empezamos conexión que esto es cierto es
básicamente como un río. Ahí es cuando se inicia uno. Si, si el
punto de inicio de la tarea no está cerrado, entonces esos datos o el agua comenzarán a fluir continuamente hasta y a menos que bloquee
su camino, simple como eso. De acuerdo, Vamos a dar click
en este botón. Tienes el mensaje. Tienes el mensaje C3, 4, cuatro veces que imprime
porque tenemos este cuatro. Y si estás pensando que no. Por lo que sólo escribiré imprimir aquí después de dos segundos y
simplemente imprimirá, leerá. Kay? Vamos a intentarlo de nuevo. Perdón, esto porque
era un arroyo. Por lo que hay que reiniciarlo. Porque ya
empezó a escuchar. No puedes hacerlo una y
otra vez. A ver que recibiste el mensaje. Leer. Tienes que leer el mensaje, tienes que tasa de mensajes. Por lo que aquí los datos nos fluyen
continuamente. Necesito cambio se
desvió sin que cambiemos, reiniciando
la aplicación. Esto se hace significado
del arroyo. Eso es todo. Entonces podría estar pensando, ¿qué pasa si sé que se ingresan
los datos? Entonces si se
ingresa otro dato más adelante también, entonces también se imprimirá. Lo que digo es que tengamos un botón de
acción flotante.
Shea. Simplemente escribiré,
agregaré un on-premise. Simplemente lo haré en ese controlador de
corriente, le
agregaremos que tiene una
nueva defecación de nodo. Está bien. Ahora veamos. Aquí no he escrito
ninguna impresión ni nada, pero como está
escuchando vía
ya he escrito este
código y ejecutarlo. Al igual que si hago click en
esto, empezó a escuchar. Ahora, después de que todo esté hecho, si hago click en Agregar, veo que tienes una nueva notificación. Entonces no tenemos que volver
a escuchar ya la conexión ya estaba
abierta y necesitaba eso, eso fluye dentro de ese
arroyo se saldrá. En palabras simples,
imagina que tienes tus mensajes en la barra de
notificaciones aquí. Si alguien te siente
nueva notificación, nuestro mensaje, este conteo
aumentará 123. Entonces este es el
concepto de moderación. En palabras simples, ¿cuál es la diferencia entre
futuro y arroyo? Futures se ejecuta
una vez que un estado va a la base de datos y llevar eso a esa conexión ha terminado. Si algo cambia
en la base de datos, el usuario tiene que
refrescar esta página o tiene que reiniciar
su aplicación, entonces sólo se enviará una nueva
solicitud futura. Pero en caso de freestream, cuando va y
pide los datos, ella, ella, anexa una conexión. Qué, y en ese caso, si ese valor o si algo
cambia en la base de datos, fluye directamente de
la base de datos a la app. Sin el usuario
refrescante ni nada. Simplemente se actualizará
aquí automáticamente. Espero que tengas claro
eso básico. Y también con el ejemplo
del mundo real lo
haremos en entonces próximos módulos. Pero hasta entonces, solo disfruta lo básico de
cualquier teoría que estemos aprendiendo. Gracias.
35. FutureBuilder y StreamBuilder: Bienvenido de nuevo. En esta sesión
estaremos hablando un nuevo widget llamado
Future builder. Y básicamente es una visita con ayuda para lidiar con futuros. Algún futuro cuando eso quita parte del código
que tenemos que escribir cuando estamos buscando
algo de esa red, es
decir de la
base de datos o servidor. Digamos que quieres buscar
datos de la base de datos al lanzamiento de la aplicación y mostrar un spinner de carga
hasta que llegue más tarde, en ese caso, el futuro se
verá viene muy útil. No es como lecturas muertas. futuro habrá no puede
realizar la tarea, pero tomará mucho
tiempo son algunos más de código. Tienes que hacer algo de estado
conjunto y todo. Pero, ¿por qué todas estas cosas cuando tenemos este
impresionante rechazan con nosotros? Por lo que se devuelve como
cualquier otro widget. Acepta dos parámetros. Uno es futuro y el
segundo es constructor. Y el constructor también toma una función que
tiene dos parámetros. Uno es contextos,
que es por defecto, y segundo es snapshot, que es sólo un nombre de variable. Pero es muy
importante porque contiene los datos devueltos
por la función característica. Entonces aquí se puede ver la
sintaxis, simplemente futuro constructor. Entonces el futuro es la función que está devolviendo el futuro. Y ese constructor,
devuelve un widget dentro de él, pero es una función. Entonces hagámoslo prácticamente
para que lo entiendas más. Acude a la pantalla del futuro. Y lo que podemos hacer es que podamos volver a tener esta
función. Yo sólo lo hice por las pruebas. Vamos a tener una función futura
llamada get username. Y será lo mismo
porque es el futuro. Ahora vamos a establecer una variable. Cuerda final. Usuario es igual a
Future dot d lastrado. Tengamos una duración
de dos segundos. Y entonces tengo una función que básicamente devuelve el
valor de Bill Gates. Tessa Violet, la variable de usuario, y luego regresamos a este usuario. Ahora es un futuro que está
devolviendo un valor de cadena. Ahora este futuro
ha sido devuelto. Tenemos que demostrarlo en nuestro cuerpo, solo
vamos a quitar todo
y tener un futuro. Con nosotros. Un error tipográfico. Este futuro constructor, que es
primer parámetro es futuro, que debemos asignar
este get username. Y segundo. Y el segundo es constructor, que es una función
y acepta contacto no exhibir nos da
contexto y una instantánea. Y tiene el tipo de datos de la instantánea
de sincronización. Por lo que 10. Ahora bien, espero que lo
hayan entendido. En primer lugar. Escribimos este widget de
Constructor futuro. Lo asignamos a un video futuro. Ahora las cosas importantes, CMS, que es el papel
de esta instantánea. En primer lugar, tenemos que comprobar
si snapshot dot tiene datos. Si es mayor que, está bien. Hasta entonces mostraremos algo como un indicador de
carga. Will simplemente eventos podrían
aprender indicador de progreso. Por lo que esto se ejecutará
hasta ese momento. Eso es este 2 segundos, primero a segundo lo. Entonces hasta ese momento definitivamente
tenemos que mostrar algo
a la pantalla. Y estaremos usando este widget llamado indicador de
progreso circular. Ahora supongamos que tenemos datos, entonces simplemente regresaremos. En ese niño,
tendremos un widget de texto. Vamos a dar salida a datos de punto, que está dentro de la instantánea. Datos de instantáneas. Eso es todo. Vamos a
probarlo por nuestra cuenta. Empezamos lo siento, quiero decir, tenemos que asignar
esta pantalla futura. Vea esta carga e indique que hubo
allí durante dos segundos. Y entonces tenemos valor Km, que está siendo devuelto
por la futura función. Por lo que espero que hayan entendido
al futuro constructor. Lo más importante, hay que investigar en el
snapshotting porque esta es esa cosa
que usaremos para manipular nuestros widgets. Eso es archivo FASTA mostrar
un indicador de carga y luego mostrar un show o
se ponen esos datos. Eso es todo. Entonces sí, puedes ver
el código aquí otra vez. Entonces lo siguiente que hicimos fue
un StringBuilder. Stringbuilder funciona igual que un futuro constructor.
Sólo diferencia. Se, escucha continuamente
que se hace cambio y actualiza la interfaz de usuario en consecuencia sin tener que actualizar
o reconstruir nuestra pantalla. Ahora StringBuilder también
toma un dos parámetros, que es trim y un builder. Ahora también construir que toma una función que
tiene dos parámetros, contextos mismos que por defecto. Y snapshot es solo una variable
que contiene los datos. Vamos a probarlo de nuevo. Acude a la pantalla del stream. Antes creamos,
creamos un futuro ficticio. Ahora vamos a crear un arroyo
ficticio, arroyo. Mi arroyo. No estará viendo, verá como truco
porque como es una cadena en el futuro, tenemos esta palabra clave sync, palabra
clave que lo hará, que se
asigne si es un futuro. Pero cuando dice arroyo, tenemos que escribir
un asteroide de fregadero. Eso es todo. Ahora, aquí está simplemente, simplemente
tendré esta función for loop donde
leerá lo que es igual a 0. Yo menos de 10, yo más, más. Y voy a ceder no volver. Dejaré que valoro. Y también dejaré que
el futuro punto D lipídico aquí para que los valores
lleven un poco de tiempo. Nuestra función está
escrita correctamente. Es lo que simplemente,
está diciendo que lejos debo
ir de uno a nueve y nuestro valor debe insertarse en el
arroyo sido enlazado, es
decir 1, 2, 3 es para simplemente
flotar a través de la cuerda. Eso es todo. Ahora de nuevo, tendremos
al constructor del arroyo. primer parámetro es un arroyo, ese es mi arroyo. En segundo lugar, un constructor, que tendrá un contexto, el cual tendrá contexto. Y en instantánea. Ahora como de costumbre, siempre tenemos que comprobar si la instantánea tiene datos. De no ser así, en primer lugar, devolveré un indicador circular de
progreso. Y si es peligro, si tenía datos, entonces en el centro sí
tuvimos un hijo. Y el texto decía snapshot dot data dot
toString. Eso es todo. Ya que es un entero, hice dos cadenas aquí. Y en la página de inicio. Ahora a la derecha pantalla de flujo. Reinicia y comprueba la salida. C 12. Tres, no estamos
haciendo nada. No estamos actualizando la página. Pero como dice stream, los valores
de datos se están
actualizando en tiempo real. Por lo que finalmente, espero
que sean concepto de arroyos y los futuros sean claros. Al menos conoces el
concepto, eso es todo. No digo que debas
saber todos y todo, lo que hemos escrito aquí
y todo
porque puede ser un poco
complicado para ti en este momento. Pero confía en mí, cuando
estaremos usando un PS y Firebase, todas tus dudas serán despejadas. Entonces eso es todo para este módulo. En el siguiente módulo, estaremos implementando
API reales en nuestra aplicación. Y todos esos datos
vendrán del servidor. Gracias. Nos vemos
en el siguiente módulo.