Cómo crear la aplicación de pronóstico de tiempo con . MAUI NET | Asfend Yar | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Cómo crear la aplicación de pronóstico de tiempo con . MAUI NET

teacher avatar Asfend Yar

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      0:40

    • 2.

      Cómo usar la aplicación meteorológica

      2:37

    • 3.

      Cómo obtener Api

      4:30

    • 4.

      Genere clases nítidas a partir de JSON

      2:08

    • 5.

      Cómo crear clase de servicio de Api

      6:16

    • 6.

      Obtén tiempo por ciudad

      3:08

    • 7.

      Página de tiempo de diseño

      9:46

    • 8.

      Vista de recopilación de datos meteorológicos

      1:26

    • 9.

      Cómo mostrar la ciudad y la descripción del tiempo

      4:32

    • 10.

      Cómo mostrar los datos meteorológicos actuales

      5:43

    • 11.

      Cómo mostrar imágenes

      4:56

    • 12.

      Vista de la colección de tiempo

      2:31

    • 13.

      Cómo conectar con la vista de recolección de tiempo

      4:07

    • 14.

      Cómo instalar el dispositivo

      4:35

    • 15.

      Evento con tapones de YourLocation

      3:19

    • 16.

      Obtén datos meteorológicos por ciudad

      6:16

    • 17.

      Página de bienvenida de diseño

      2:39

    • 18.

      Seguimiento de versiones

      2:08

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

86

Estudiantes

--

Proyecto

Acerca de esta clase

El enfoque principal de este curso es en la . Desarrollo de aplicaciones para NET MAUI. Si no tienes experiencia previa de hacer aplicaciones en el mundo real, este curso es un comienzo perfecto para ti. Pero ten en cuenta para completar este curso debes tener un conocimiento de XAML o C# NET.

Así que si estás familiarizado con C# Net y XAML O si quieres crear la aplicación de tiempo con tu favorita. Lenguaje de programación en red es el curso adecuado para ti.

Al obtener este curso, puede estar seguro de que el curso se piensa y se edita cuidadosamente. Y estoy siempre feliz de hacer el contenido útil para los estudiantes.

Así que al final de la carrera, entenderás completamente:

  • Cómo crear un proyecto completo en el mundo real con . MAUI en red

  • Obtén descanso de Apia para aplicaciones con tiempo
  • Cómo crear clases de modelos a partir de datos de Json

  • Consume Apo de descanso. MAUI NET

  • Seguimiento de versiones en . MAUI NET

Si eres un desarrollador ocupado y quieres aprender cosas rápidas en poco tiempo, este curso es un comienzo perfecto para ti.

Conoce a tu profesor(a)

Teacher Profile Image

Asfend Yar

Profesor(a)
Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Hola, mi nombre es S1 y te estaré guiando a través de este curso. Soy ingeniero de software y profesional de lo más valioso de Microsoft. Diseñé este curso para que puedas hacer hermosas aplicaciones móviles multiplataforma de principio a fin. Al final de este curso, podrás desarrollar las aplicaciones móviles en la película de Dalton con APIs RESTful. Entonces, si eres nuevo en la película punteada o si estás pensando en hacer una aplicación móvil multiplataforma, entonces el discurso es un Jump Start perfecto para ti. ¿Está bien? Entonces, ¿ a qué esperas? Toma este curso? Y empecemos a aprender. 2. Resumen de aplicaciones meteorológicas: En esta sección, vamos a obtener la aplicación de pronóstico del tiempo con dotnet movie. Déjame mostrarte la aplicación que vamos a construir esta aplicación por primera vez. Después veremos esta pantalla de incorporación o pantalla de inicio. Bien, sigamos adelante y en el fondo de nuestro dispositivo elegiremos nuestra ubicación, y luego obtendremos los datos meteorológicos acuerdo a nuestra ubicación. Ahora digamos que queremos verificar los datos meteorológicos de alguna otra ciudad. Entonces todo lo que necesitas hacer es buscar alguna otra ciudad. Y aquí vamos. Esta vez, obtendremos diferentes datos meteorológicos. Bien, en esta aplicación consumirán el resto APIs para Open Weather Map. Ahora, vamos a encender el estudio de vellosidades. Y luego vamos a agregar un nuevo proyecto cinematográfico. Escojamos esta aplicación punteada y hagamos clic en Siguiente. Voy a nombrar este proyecto a la app del clima. Bien, ahora consigue este proyecto. Y aquí en la última versión de RStudio verá el tono real. No necesitamos esto. Entonces eliminaremos el shell de la aplicación. Del mismo modo, también eliminaremos muestra de la página principal y el archivo CSS de doble punto de la página principal. Ahora en el archivo abs ML dot CSS, veremos este error porque no tenemos ninguna página principal, nuestra app shell pitch. Lo que vamos a hacer es hacer clic derecho y elegir Nuevo artículo. Entonces, en esta versión de Video Studio, microsoft S agregó una plantilla separada para base mensual punteada. Entonces a partir de ahora usaría el Mojave. Y luego elegiremos esta página de contenido de Molly punteada con vista previa de XAML. Bien, vamos a nombrar este espacio a si página y editar dentro de nuestro proyecto. Bien, aquí vamos. Ahora en el archivo CSS de punto ML de aplicaciones, vamos a establecer la página principal es igual a si página. Ahora continuemos nuestro trabajo en la siguiente lección. 3. Cómo obtener un api: En esta lección, te voy a mostrar cómo podemos obtener la API meteorológica. Bueno, hay muchos proveedores de API meteorológicas, pero en su mayoría usamos este Open Weather Map para aplicaciones meteorológicas. Bien, entonces en este curso usaremos la API Open Weather Map. Vamos a esta página web. Y ahí haremos click en esta API. Y veremos diferentes opciones de API. Podríamos usar cualquiera de estas API para obtener los datos meteorológicos, por ejemplo, esta opción se usa para obtener datos meteorológicos actuales oscuros. Esta opción se utiliza para obtener los datos meteorológicos de cuatro días. De igual manera, tenemos diferentes opciones. También podemos utilizar este pronóstico diario, 16, esta opción de si los datos. Pero ahora mismo, esto no es gratuito y está incluido en todos los planes de suscripción de pago a algún otro plan que sea gratuito. Este t de cinco días, nuestro pronóstico es gratuito. Entonces elegiremos esta opción. Esta opción proporcionará al veterinario los datos de cinco días. Y porque este es un plan gratuito, así que no obtendremos los datos meteorológicos después de cada hora. Obtendremos los datos meteorológicos después de las 3 h. Bien, Ahora, hagamos clic en esta documentación de APA. Y verá la URL que se utiliza para obtener los datos meteorológicos. En esta URL, necesitamos pasar cosas de filtro como latitud, longitud y ID de aplicación o clave APA. Vamos a copiar esta URL y pegarla dentro y otra deuda. Ahora vamos a Google. Y ahí encontrarás la latitud y longitud de tu ubicación. Bien, copiemos la latitud y longitud y péguelas dentro de la URL de tu API. Entonces obtendremos la aplicación meteorológica en mv0 punteado, luego permitiremos que nuestra aplicación elija la ubicación del dispositivo. Con las pruebas de la API en el navegador web dice pasar las coordenadas manualmente. Bien, ahora encontremos el ID de la aplicación, nuestra clave API. Para obtener la clave API, necesito inscribirme en el Mapa Meteorológico Abierto. Entonces voy a crear mi cuenta. Ahora una vez configuraré mi cuenta, luego aquí en el desplegable, veré la clave API. Sólo tienes que seleccionar esto. Y aquí podemos usar la clave API predeterminada o generar una nueva. Bien, ahora vamos a copiar esta clave ABA y pegarla dentro de la URL. Bien, vamos a presionar Enter y obtendrás la gist y la respuesta. Copiemos estos datos destinados. Y ahora busca este sitio web, Jason belleza, fuego. Entrar. Vamos a pegar los datos JSON y embellecer. Bien, aquí en el lado derecho veremos los datos decentes en el formato de codificación. También podemos elegir otras opciones para ver los datos. Vamos a configurar la opción de vista. Y aquí en el objeto se verán cosas distintas. Si ampliamos la opción de ciudad, entonces verás diferentes atributos como nombre de la ciudad, coordenadas, amanecer, atardecer, etc. elegiremos la ciudad para obtener los datos meteorológicos actuales. Ahora aquí veremos esa lista que nos dice que esta lista contiene el siguiente número de registros. Ampliemos la lista. Y aquí veremos diferentes campos. Vamos a expandir este. Y aquí en la principal veremos datos para temperatura, presión, humedad, etc. en el campo vectorial se verán los datos meteorológicos como descripción. Y puedo tener lo mejor. De manera similar en el viento, tenemos velocidad, etc. usaremos estos datos JSON dentro de una aplicación de película punteada. Bien, entonces en la siguiente lección, eliminaremos las clases C-sharp de estos datos JSON. Te veré en la siguiente lección. 4. Generar clases nítidas en C desde JSON: Sólo si hemos probado la API para el clima. Ahora, en esta lección, vamos a obtener las clases C-sharp desde esta respuesta a distancia. Aquí en el navegador web, verás esos datos JSON. Solo necesitamos copiar este Jason y luego buscar este sitio web. Desciende a C-sharp. Bien, aquí, vamos a pegar esos sólo algunos datos y convertirlos en clases y propiedades de C-sharp. Aquí veremos las clases y propiedades de C-sharp. También puedes donar las propiedades en caso Pascal. Pero algaes y propiedades en minúsculas, la elección depende totalmente de ti. Ahora puedo ir al proyecto de nuestra hija Maggie, y agreguemos una nueva carpeta y pongamos el nombre de modelos. Ahora en esta carpeta, vamos a agregar una clase de convulsión y ponerle el nombre root. Bien, agreguemos esta clase. Ahora estás pensando por qué hemos nombrado a esta clase a ruta. Porque de acuerdo a nuestro decente para ver excedentes. Esta clase raíz es la clase padre. También puedes ver que además de esto, se menciona que si queremos deserializar esos datos JSON, entonces necesitamos usar el adyacente convert dot dc lies objeto de clase raíz. Vamos a copiar estos datos. Justo después de eso. En el estudio de video se eliminará esta ruta apellido. Y luego estos son los datos que hemos copiado. Aquí, hemos creado nuestras gafas modelo a partir de los datos JSON. Ahora, en la siguiente lección, crearemos la clase de servicio API. Te veré en la siguiente lección. 5. Crear clase de servicio Api: En esta lección, vamos a crear la clase de servicio API. Entonces lo que vamos a hacer es agregar una nueva carpeta dentro de nuestro proyecto. Y luego Dean en esta carpeta a los servicios. Entonces dentro de esta carpeta se agregará un nuevo servicio API de ID de nombre de clase C-Sharp. Ahora pasemos al modificador de acceso de clase a público. ¿Bien? En esta clase de servicio API obtendrá un método y lo nombrará, obtendrá el clima. Ahora, dentro de este método se creará un nuevo cliente HTTP. Ahora, cuando llamaremos al resto APIs, luego cliente HTTP, que llevará una solicitud al servidor. Entonces con este cliente HTTP, necesitamos llamar al método en resto APIs. Cuando añadimos el registro que utilizamos post request. Cuando actualizamos el registro, entonces usamos la solicitud PUT. Y en caso de eliminar el registro se utilizará el método delete. Ahora, en caso de obtener nuestros datos FASTA, necesitamos un getMethod con este cliente HTTP llamará al método asincrónico get string. Y este método enviará la solicitud y obtendremos la respuesta en el formato JSON. Aquí, VD para agregar nuestra URL API. Entonces lo que vamos a hacer es copiar URL de nuestras API y pegarla aquí. Aquí pasaremos nuestras coordenadas como latitud y longitud. Entonces en este método, agregaremos dos parámetros de tipo double y le nombraremos latitud y longitud. Bien, Entonces en esta URL se concatenar la latitud y longitud. Así que vamos a envolver esta función de formato de punto de cadena URL. Y luego en lugar de latitud y longitud, agregará un marcador de posición como 0.1 en los corchetes. Después de esta URL se agregará un separador de comas y pasará esta latitud y longitud, que obtendrá de esta función. Recuerdas que este es un método asíncrono. Así que necesitamos usar la palabra clave esperar aquí. Y ahora vamos a obtener un error porque no se puede usar sin asincrónico. Así que necesitamos hacer que este método asíncrono usando la palabra clave asincrónica. Bien, vamos a almacenar el resultado en una variable. Y luego esta variable a la respuesta. Básicamente esta es la variable falsa contiene los datos JSON, los cuales obtendrán de esta URL API. Ahora, una vez que obtengamos los datos, entonces necesitamos analizar estos datos en clases de C-sharp para que podamos mostrarlos dentro de nuestra aplicación móvil. Entonces, cuando vamos a obtener los datos en el formato JSON, entonces vamos a convertir esos datos JSON en clases CCF mediante el uso de simplemente incrementar puerta objeto deserializado. Este Jason convierte el punto d objeto serializado. Necesitamos un paquete NuGet que esté apenas en.net o Newton soft dot json. En el gestor de paquetes que busca paquete e lo instala. Una vez que instalemos este paquete, entonces cerraremos esta ventana. Y justo después de eso, usaremos esto en una especie de objeto serializado punto d. Luego está todo el espacio de nombres para Newton soft door, GSM. Ahora, en el objeto digitalizado, necesitamos pasar el nombre de la clase y los datos decentes. Mira los datos decentes de la variable de respuesta. Así que pasa aquí la respuesta. Y necesitamos mapear esta decisión acuerdo con el vidrio de ruta, porque el vidrio es la clase padre. Entonces mapearemos el DSM de acuerdo a nuestro vaso de raíz. Ahora, hagamos esto usando la declaración return. Y nuestro método devolverá la respuesta según la clase raíz. Pero vamos a obtener un error. Y eso es porque estamos usando el blanco. Y aquí estamos devolviendo esos datos según la clase raíz. Entonces, si establecemos el tipo de este método, la raíz, entonces todavía obtendremos un error. Y eso es porque si vamos a hacer el método Asincrónico, entonces necesitamos usar la tarea t Pero si no devolvemos nada, entonces usaremos la palabra clave task. Pero si tuviéramos que devolver algo, entonces cuando los tejidos la tarea de tipo. Y este tipo podría ser cualquier cosa. Podría ser una cadena, un entero, flotador, una lista o incluso un objeto. Porque estamos devolviendo los datos según la clase raíz. Entonces haremos el tipo de este método para realizar tareas fuera de ruta. Bien, continuaremos nuestro trabajo en la siguiente lección. 6. Obtén tiempo por ciudad: En la última lección, hemos agregado un método en la clase de servicio API. Y este método se utilizará para obtener los datos meteorológicos acuerdo a las coordenadas como latitud y longitud. Pero según nuestra aplicación, también queremos obtener los datos meteorológicos de acuerdo con el nombre de la ciudad. Entonces lo que vamos a hacer es ir a la API Open Weather Map por cinco días. Y ahí del lado derecho, vemos esta opción. Obtener ya sea por nombre de ciudad. Seleccionemos esto. Y esta es una URL que se utilizará para obtener los datos meteorológicos de acuerdo al nombre de la ciudad. Bien, usaremos esta URL. Déjame decirte una cosa. Estas dos URL, una con las coordenadas y la otra con el nombre de la ciudad. Tiende la misma respuesta a distancia. Así que no necesitamos crear otro modelo C-sharp. Las clases elegirán las clases que hemos creado anteriormente. Lo único que creará otro método en la clase de servicio APA. Entonces vayamos a la clase de servicio API, y luego copiaremos este método y lo pegaremos aquí. Ahora, vamos a verlo en este método para obtener ya sea por ciudad, bien, luego eliminaremos esta URL. Justo después de eso. Vamos a copiar esta URL para obtener ya sea por nombre de ciudad y pegarla aquí. Aquí pasamos la misma clave API que hemos utilizado en el primer método. Y en el nombre de la ciudad pasará la ciudad, que obtendrá de este método. En este método pasamos un parámetro de tipo string y luego nos City. ¿Bien? Y luego concatenaremos la ciudad aquí. Aquí hemos creado la clase de servicio APA. Ahora, cuando va a consumir esta API métodos de clase de servicio en algunas otras clases, como si pH. Entonces tenemos que obtener la nueva instancia de clase de servicio API. Y con la deuda, podemos llamar a los métodos de clase de servicio APA. Pero agregaremos esta clase y este método estático que no necesitamos instanciar la clase cada vez que queramos consumir estos métodos de clase de servicio API, entonces solo podemos usar el nombre de la clase. Y junto con eso, podemos llamar a estos métodos. Bien, así que es mejor si vamos a establecer esta clase y estos métodos a static. Bien, eso es todo por esta lección. Ahora, te veré en la siguiente. 7. Página meteorológica: En esta lección, vamos a diseñar la página del clima. Así que vayamos al archivo XML de la página de edición, y luego podremos reescribir nuestro código XAML. Pero antes de esto, echemos un vistazo a esta imagen, que vamos a diseñar. Bueno, en esta página más bien, elegiremos el diseño de la cuadrícula. Y aquí va a descomponer este diseño en diferentes partes. Esta es la primera fila y la altura es Otto. Entonces tenemos esta segunda, tercera, cuarta y quinta fila. Y la altura de todas estas filas es Otto. Quiero decirles que he creado pocos ácidos. Alt unidad dos es solo descargar estos ácidos junto con este video. Y justo después de eso, Judy para pegar estos ácidos en la carpeta Imágenes que está presente debajo de la carpeta Recursos aquí, que han agregado todos estos activos. Ahora vamos a ejecutar esta aplicación porque vamos a crear un diseño con la ayuda de la opción de recarga en caliente. Aquí, nuestra aplicación se está ejecutando con algún mensaje de texto. Vamos a quitar esto. Y ahora agregaremos un diseño de cuadrícula. Y luego agregar la definición de fila es igual. Y luego agregaremos cinco filas con la altura de auto. Justo después de eso. Vamos a establecer el espaciado entre filas de unidades de veinte. Después crearemos un diseño para esta primera fila. Esta primera fila contiene dos hijos. Entonces usemos el diseño de pila aquí y pongamos el diseño de pila en cuadrícula punto rho es igual a cero. Después estableceremos el margen de 20 unidades desde el lado izquierdo, superior y derecho. Y no necesitamos un margen desde abajo. Entonces pondremos cero. Queremos estos controles en la dirección horizontal. Así que establece la orientación de esta nube de etiquetas es igual a horizontal. ¿Bien? Entonces en este diseño de pila, necesitaremos dos cosas. El primero es tu ubicación, y el segundo es el icono de búsqueda. Para hacer esto, su control de ubicación elegirá el control nivel y establecerá el texto igual a su ubicación, y el tamaño del teléfono es igual al predeterminado. ¿Bien? Pero necesitamos ese tipo de control. Entonces envolveremos esta etiqueta dentro del marco. Y por defecto el relleno del marco es de 20 unidades. Entonces, pongámoslo en diez unidades. Entonces estableceremos el radio de esquina igual a 35 unidades, tiene propiedad de sombra es igual a verdadero y el color del borde es igual a probable. Ahora agreguemos otro control para este icono de búsqueda. Para ello, añadiremos un botón de imagen. Después establecer la fuente de esta imagen es igual. Déjame mostrarte la imagen que vamos a usar en la carpeta Imágenes. Tenemos esta imagen para el icono de búsqueda usaría esta imagen aquí. Luego estableceremos la solicitud de altura y ancho 30 unidades y estableceremos toda la opción central para expandir. ¿Bien? Ahora vamos a cubrir el diseño de la segunda fila. Bueno, en este rol se necesitarán dos cosas, nombre de la ciudad y la descripción. Primero, agregaré un diseño de pila y lo pondré en la cuadrícula punto Rho es igual a uno. Y estableceremos la orientación de esta capa de texto igual a vertical. Por defecto, una orientación escalonada es vertical. Bien, ahora agreguemos un control de nivel y llamémosle ciudad LBL. Después establece el tamaño de fuente igual a 40 unidades. Bien, justo después de eso, quien establece la opción horizontal es igual al centro y el texto es igual al gris. También establezca el texto de esta etiqueta anterior. Vamos a agregar cualquier ciudad ellos. Cuando consuma la API, entonces eliminaremos este valor de nombre de ciudad codificado. Pero ahora mismo estamos diseñando esta página del clima. Así que vamos a añadir el valor codificado duro aquí. No me gusta este nivel de control, necesitamos otro control de nivel. Aquí estableceremos el nombre es igual a LPL. Lee la descripción. El tamaño de fuente es medio, horizontal, opción es igual al centro en el color del texto equivale a gris pizarra Después agregaremos aquí algo de texto codificado duro, que se eliminará más adelante. Bien. Ahora nos moveremos hacia la tercera fila. Y esta fila solo agregará un control de imagen, porque solo hay un control en esta fila. Soul no usa ningún diseño. Esta herramienta de imagen va a ser el hijo directo de nuestro diseño de cuadrícula. Entonces agregaremos un control de imagen y lo pondremos dentro de una cuadrícula punto rho es igual a dos. Después estableceremos el nombre de esta imagen icono del tiempo IMT. Opciones para comenzar. Y la solicitud de altura y anchura equivale a 200 unidades. Después estableceremos la fuente de esta imagen. Y aquí pasaremos cualquier imagen aleatoria de la carpeta images. Muévete esto más tarde. Bien, Ahora vamos a movernos hacia otra fila. Y esta fila agregará otro buen diseño. Entonces agregaremos una cuadrícula y la pondremos dentro de una cuadrícula punto Rho es igual a tres. Entonces en disputa se sumarán dos filas con la altura de auto y tres columnas con un peso de 0.3 t estáticas para todas estas. Después sumar el margen es igual a 20 unidades. Ahora agregaremos un control de imagen y lo pondremos dentro de una fila cero, columna cero. Dicho esto los agujeros son dos opciones iguales Centro y altura solicitud de 25 unidades. Justo después de eso, estableceremos la fuente de esta imagen igual. Y aquí pasará este nombre de imagen para la humedad, que viene de nuestra carpeta de imágenes. Bien, ahora voy a agregar un control de etiqueta, humedad íntima LBL. Entonces pondremos esto dentro de la cuadrícula punto Rho es igual a uno y pulsaremos punto columna igual a cero. Justo después de eso, establecer toda la opción sutil es igual a Centro. Por ahora estableceremos la propiedad text y agregaremos cualquier número aleatorio aquí. Después agregaremos otro nivel de control y temperatura Navy LBL. Y vamos a meter esta etiqueta. Buen punto rho es igual a cero y la columna de cuadrícula es igual a uno. Luego usaremos Punto de cuadrícula, rowspan es igual a opciones horizontales para centrar. Tamaño de fuente de 40 unidades en atributos de fuente a negrita. Pasemos cualquier número aleatorio en la propiedad text. Bien, Ahora vamos a copiar estos dos controles para humedad, imagen y nivel. Y luego lo pegaremos aquí. Bien, Primero pondremos esta imagen en punto rojo rho igual a cero. Un buen color oscuro equivale a dos. Y para este nivel elegirá Punto de cuadrícula Rho es igual a uno y Greet dot colon equivale a dos. Después cambiaremos el nombre de esta etiqueta a LBL Vint. Y para esta fuente de imagen se establecerá la imagen que viene de nuestra carpeta de imágenes. Bien, ahora en la siguiente lección, cubriremos nuestra vista de colección, que pondremos dentro de esta última fila. Te veré en la siguiente lección. 8. Vista de recopilación de datos meteorológicos: En esta lección, vamos a agregar la vista de colección en la página del clima. Anteriormente hemos creado este diseño. Ahora agregaremos una vista de colección y la pondremos dentro de ese punto de cuadrícula Rho equivale a cuatro. Establezca el nombre de esta vista de colección en CV, ya sea que también estableceremos la solicitud de altura igual a 100 unidades. Ya hemos cubierto la vista de colección anteriormente en la aplicación de frutas y en la aplicación de noticias. Esta vez, vamos a ahorrar un tiempo y utilizar la técnica de copiar y pegar. Entonces lo que voy a hacer es agregar este código para la vista de colección. Aquí tenemos una vista de colección con una cuadrícula. Y dentro de esta grilla, hemos tomado herramientas. Una es para si la imagen, segunda es para la temperatura, y la tercera es para la fecha y hora. ¿Bien? Y queremos ese tipo de diseño con una sola fila y en la dirección horizontal. Entonces es por eso que hemos utilizado el diseño de elementos lineales. Ahora, en la siguiente lección, consumiremos esa API y mostraremos los datos meteorológicos dentro de esta página meteorológica. Bien, te veré en la siguiente lección. 9. Visualizar la ciudad actual y descripción del tiempo: En esta lección, vamos a consumir la API meteorológica mostrará los datos meteorológicos actuales y la página meteorológica. Así que vayamos al código detrás del archivo o más bien a la página. Y van a empezar de nuevo. Queremos obtener esos datos, luego aterrizaremos en esta página. Por eso usaremos nuestro propio método atractivo. Bien, vamos a anular el propio método de opinión. Y dentro de esto, llamaremos a nuestra API para obtener los datos meteorológicos. Elegirá la clase de servicio APA y disolverá el espacio de nombres. Entonces llamaremos al método get, que tomará la latitud y longitud. Ahora mismo Pasemos aquí algunos valores estáticos. Y más tarde, cuando trabajaremos con la ubicación del dispositivo, luego pasaremos las coordenadas según la ubicación de nuestro dispositivo. Ahora bien, este es un método asíncrono, así que vamos a usar para esperar aquí. Y obviamente necesitamos agregar un cante junto con el propio método atractivo. Bien, ahora vamos a almacenar el resultado en una variable. Y no cumplimos resultado. Con este resultado, podemos escoger las propiedades de nuestras clases modelo. Dentro de nuestra aplicación. Primero, encontraremos la ciudad y la descripción del clima. Para mostrar. La ciudad irá al fuego de la belleza de Jason. Y dentro de la ciudad verá un nombre de ciudad. Bien, para obtener el nombre de la ciudad, utilizará el resultado que realmente contiene la respuesta de la API. Y es de tipo clase raíz. Entonces, según nuestros datos decentes, elegiremos la ciudad, y luego elegiremos el nombre de la ciudad. Bien. Ahora en la página Veda archivo XAML, hemos agregado esta etiqueta para ciudad. Simplemente eliminará el valor del texto codificado. Y luego asignaremos el valor a esta ciudad LBL en el código detrás del archivo. Asignemos este valor a la propiedad de texto de punto de LBL City. De igual manera, vamos a encontrar una mejor descripción. Así que volvamos al purificador JSON. Ahí. Abramos este ListNode porque queremos obtener los datos meteorológicos actuales. Soldados este nodo cero. El resto de los nodos contiene datos de otros cinco días con intervalo de t horas. Después de expandirse, el nodo cero expandirá el clima. Y aquí veremos la descripción. Para acceder a esta descripción. Primero, tenemos que usar este resultado con contiene una respuesta decente. Entonces escogeremos el nodo de lista y pasaremos cero aquí porque queremos recuperar los datos y el nodo cero. ¿Bien? Entonces elegiremos el nodo proveedor y también pasaremos cero aquí. Como se mencionó en el fuego de la belleza de Jason. Ahora podemos escoger la descripción de la propiedad. Bien, ya ves lo fácil que es supurar tipos complejos de datos. Ahora asignaremos estos datos a nuestro LPL, ya sea la propiedad de texto de punto de descripción. Después iremos a la página web archivo XAML. Y entonces no necesitamos este valor codificado duro para ya sea descripción. Así que simplemente eliminaremos esto. Bien, ahora vamos a ejecutar esta aplicación. Y aquí vamos. Se puede ver que vamos a obtener un nombre de ciudad y si la descripción aquí. Ahora, en la siguiente lección, hemos trabajado con las imágenes y también veremos cómo obtener la temperatura. Bien, te veré en la siguiente lección. 10. Mostrar datos meteorológicos actuales: En esta lección, vamos a mostrar los datos meteorológicos. Hemos trabajado con la ciudad y si descripción. Y ahora en esta lección, mostraremos los datos meteorológicos como temperatura, humedad y velocidad del viento. Primero iremos al purificador DSM. Y van a ampliar esta lista nodo cero. Y veremos esta principal y bajo esta veremos nuestra temperatura. Bien, entonces en el código detrás del archivo, usaremos esto como lista de puntos L de punto índice cero Min, temperatura de punto. Y junto con eso, concatenaremos el símbolo del grado centígrados. Podrías encontrar el símbolo de grados Celsius en Google. Bien, aquí vamos. Ahora asignaremos esta temperatura a la propiedad de texto de punto de temperatura LDL. Y en la página del archivo o carpeta XAML, se eliminarán los datos de temperatura codificados. Bien, ahora vamos a ejecutar esta aplicación. Y aquí vamos. Se puede ver que vamos a conseguir esa temperatura, pero no está en el Celsius en Fahrenheit. Entonces hay muchas formas de convertir Fahrenheit a Celsius. La primera es que podemos hacer una lógica en C-sharp para convertir nuestra temperatura Fahrenheit a temperatura Celsius. Pero según el Open Weather Map, API es solo pan comido para nosotros. Según su documentación, acabamos de pasar el útero igual métrica en la URL API. Y eso es todo lo que obtendremos los datos de temperatura en el centígrados. Entonces lo que vamos a hacer es ir a la clase de servicio API y van a pasar las unidades iguales métricas en estas dos gafas APA. Ejecutemos esta aplicación una vez más. Ahora esta vez verás el clima, la temperatura en Celsius. Este es otro problema, y es decir, no necesitamos este valor del punto. Tenemos que redondear este valor. Vamos a las clases modelo y están dentro de la clase principal, verán esta propiedad húmeda que representa la temperatura. Bien, agregaremos otra propiedad de tipo double y le nombraremos temperatura. Y luego asignaremos nuestra temperatura a la propiedad de temperatura. Justo después de eso. Envolvemos esta temp y el mat dot función incorrecta. Bueno, mate es una clase en C Sharp y se utilizará la función disruptiva para redondear el número. Ahora en el código detrás, en lugar de usar la temp, usará la propiedad temperature. Bien, vamos a ejecutar esta aplicación. Y aquí en el dispositivo verá la temperatura de una manera agradable. Bien, ahora vamos a trabajar con nuestra humedad y Vint. Así que volvamos al fuego de la belleza de Jason. Y en el nodo principal, tenemos esta propiedad de temperatura que hemos usado anteriormente. Y ahora. En el mismo nodo principal verá esta propiedad de humedad. Entonces usaremos la misma lógica para acceder a la humedad, que hemos utilizado para acceder a esa temperatura. En el código detrás del archivo, elegiremos un punto propio. Después elija la lista de punto índice cero, Min, propiedad de humedad de punto y concatenar el símbolo de porcentaje al final. Ahora asignaremos esta humedad a la propiedad de texto de punto de humedad LBL. Y en el archivo XAML de si page eliminará el valor duro-codificado de humedad. Bien, Ahora comencemos con la velocidad del viento en la belleza Jason fuego abrirá esto cuando nodo. Y ahí veremos la propiedad de velocidad. Para acceder a esto, lo usaremos como lista de puntos del índice cero de velocidad del viento del punto. Y junto con eso, concatenaremos kilómetros por hora. Después asignaremos este valor al texto del punto de velocidad del viento LBL. Y no olvides eliminar el valor codificado de velocidad del viento en el archivo XAML punto de la base de datos. Bien, aquí vamos. Ahora volvamos a ejecutar esta aplicación. Aquí en el dispositivo, verá los datos meteorológicos como temperatura, humedad y velocidad del viento. Ahora, en la siguiente lección, trabajaremos con imágenes de Darth Vader. Entonces te veré en la siguiente lección. 11. Visualizar imágenes meteorológicas: En esta lección, vamos a trabajar con las imágenes meteorológicas. En lugar de aplicación veterano verá una imagen codificada. Ahora se mostrará la imagen de acuerdo a la API meteorológica. Entonces iremos al purificador adyacente debajo de la lista, vamos a explicar esto mejor. Aquí tenemos un icono con algún código. Ahora para acceder a las imágenes meteorológicas, necesitamos seguir las pautas de imagen del mapa meteorológico abierto. Vamos a esta URL. Para acceder a las imágenes, necesitamos usar esta URL. Junto con eso, necesitamos agregar el código de imagen. Copiaré esta URL y la pegaré dentro de otra pestaña y golpearé Enter. Bien, aquí vamos. Ahora aquí agregaremos algún otro código de imagen y pulsaremos enter y veremos otra imagen. Bien, así que necesitamos seguir las pautas de esta imagen para acceder a las imágenes. Vayamos a nuestro proyecto. E irán a las clases modelo. Dentro de la clase vector. Vamos a agregar la propiedad de tipo cadena y ponerle el nombre completo Icon URL. Después copiaremos la URL de la imagen y la asignaremos a esta propiedad. Bien, Ahora, en la imagen URL concatenaremos el icono, que vamos a conseguir en una respuesta decente. Así que vamos a envolver esta función de formato de punto de cadena URL. Y en lugar de que pueda codificar, agregaremos un marcador de posición. Luego después de esta URL se agregará un separador de comas y luego se agrega el icono aquí. Bien. Ahora en el código de la página de video detrás del archivo, usemos el punto de resultado. Entonces queremos acceder a la propiedad icon. Entonces, para poder acceder a este icono, primero necesitamos una lista de índice cero. Entonces necesitamos un valor de índice cero. Justo después de eso, podemos usar la propiedad icon. Y debido a que hemos agregado una propiedad de URL de icono completa, así que usaremos este icono completo, serás propiedad aquí. Después asignaremos este icono a esta propiedad IMG weather dot source. Y en el bit federal archivo XAML eliminará el código duro de la fuente drop D de esta imagen. Bien, ahora intentemos ejecutar esta aplicación. Y esta vez obtendremos un ícono del clima dinámico. Veamos si necesitamos estos iconos oscuros. Y queremos personalizar íconos. Ya hemos agregado los iconos en la carpeta Imágenes con esas convenciones de nomenclatura predeterminadas. O puedo nombrar comienza con el subrayado del icono. Entonces tenemos el código de icono. Ahora en esta clase roja, agreguemos otra propiedad y le pongamos el nombre de icono personalizado. Luego elegiremos el operador lambda, y justo después de eso, elegiremos la función de formato de punto de cadena. Y dentro de esto agregará comillas dobles y agregará el nombre del icono. Dentro de la carpeta de imágenes, tenemos muchos íconos meteorológicos y todo esto comienza con el subrayado del icono, y luego cada icono tiene un código único. Y después de esto tenemos extensión de punto PNG. Así que agrega subrayado de icono. Y en lugar de que pueda codificar, agregaremos un marcador de posición. Y justo después de eso, agreguemos la extensión de punto PNG. Bien, ahora agregaremos un separador de comas y agregaremos este icono aquí. Con esta línea, podemos utilizar nuestros iconos personalizados. Ahora en el código de base de datos detrás del archivo, quienes solo usan el icono personalizado. Y luego ejecutaremos esta aplicación. Aquí. Verás que esta vez obtendremos nuestro icono personalizado. Entonces eso es todo por esta lección. Ahora, te veré en la siguiente. 12. Vista de recolección de tiempo: En esta lección, vamos a agregar la vista de recolección de datos meteorológicos por hora. Anteriormente hemos trabajado con los datos meteorológicos actuales. Ahora comencemos nuestro trabajo con la Vista de Colección. En el código detrás del archivo. Pasemos al propio método atractivo. Y ahí ya hemos consumido una API meteorológica. Y este resultado contiene los datos que provienen de la API. Ahora agreguemos un bucle foreach porque queremos obtener la lista de datos meteorológicos. Entonces agregaremos un bucle for-each. Y aquí dentro de esto, queremos una lista de si queremos hidratar la clase raíz. Tenemos esta propiedad de lista, y esta propiedad contendrá nuestros datos meteorológicos por hora. Así que en el para cada bucle accederá a la propiedad list con este resultado. Ahora recordemos que los conceptos ListView y CollectionView que hemos discutido en la vista de lista y en la sección Vista de colección. Primero agregaremos una lista, luego agregaremos los datos en la lista. Y finalmente, asignaremos la lista al origen del ítem de la vista de colección. Así que agreguemos una lista en el otro código de página detrás del archivo. Ahora la pregunta es, ¿cuál es el tipo de esta lista? Esta lista será de tipo lista clase que está presente dentro de nuestra carpeta de modelos. Bien, ahora cambiemos el nombre de esta lista a lista. La estructura del índice. Inicialicemos esta lista. Ahora en el bucle for-each, agreguemos los datos dentro esta lista meteorológica usando el método helper add. Y fuera de este bucle foreach usaremos el CV weather dot item source iguala si lista, el CV weather es nuestra colección ver nombre. Y hemos creado esta vista de colección en el archivo weather bit XAML. Bien, ahora en la siguiente lección, vincularemos la recopilación de datos que controles WE. Bien, te veré en la siguiente lección. 13. Vista de DataBinding en la recolección de tiempo: En esta lección, vamos a usar ese enlace de datos dentro de nuestra vista de recopilación para que podamos mostrar los datos meteorológicos dentro de la vista de recopilación. En la otra página, veremos tres controles dentro de la vista de colección, la imagen y dos etiquetas en el lejano embellecido. Podemos ver que para obtener la imagen, elegiremos más bien de índice cero. Y luego escogeremos la propiedad del icono. Pero en cada clase de modelo, hemos utilizado un icono personalizado. Vamos a vincular este icono personalizado, sea cual sea el control de imagen. Entonces lo que vamos a hacer es ir a la página web. Ahí. Busquemos la fuente de la imagen con el tiempo de cero índice punto icono personalizado. Bien, ahora vamos a unir esta propiedad de textos de nivel con la propiedad de temperatura. Según el DSM embellecido, la propiedad de temperatura está presente dentro de una clase principal. Entonces usemos la temperatura del punto principal. En la clase principal, hemos agregado una propiedad personalizada para la temperatura para que podamos obtener la temperatura en una ronda de 4 bits que se vende por este texto de nivel sin propiedad de temperatura de punto principal. Bien, de manera similar vinculará este segundo nivel con la propiedad date. Ahora en el fuego de la belleza decente se verá una fecha en el formato de tiempo Unix. Y necesitamos convertir esto en formato de fecha legible por humanos. Entonces, en la carpeta de modelos, vayamos a esta clase de lista. Y ahí tenemos este nombre de propiedad d t. Bueno, necesitamos otra propiedad de tipo cadena, que se utilizará para convertir nuestra hora Unix a hora UTC. Entonces antes de agregar la propiedad, vamos al paquete NuGet. Ahí. Este paquete para convertir la hora Unix a la hora UTC. Bien, vamos a instalar este paquete NuGet. Ahora una vez instalará este paquete NuGet. Después agregaremos una propiedad de tipo string y le daremos el nombre datetime. Entonces usaremos el operador lambda. Y justo después de eso, usaremos una marca de tiempo UTC. Y para esta marca de tiempo UTC, necesitamos importar este espacio de nombres. Bien, Ahora con esta marca de tiempo UTC elegiremos este método convertir a UTC. Y este método tomará la fecha en formato Unix. Entonces pasaremos esta D, D aquí. Bien. Ahora esta línea convertirá una hora muy unix a hora UTC. Bien, Ahora bien, si no quieres usar este paquete NuGet para convertir el tiempo Unix, entonces ella simplemente podría usar este código para convertir la sed la próxima vez a la hora UDC. Adjuntaré este fragmento de código junto con este video. Bien, ahora vamos a la página web. Y ahí, vamos a encontrar la propiedad de texto de esta etiqueta con la fecha y hora, porque el DT o datetime es un hijo directo de la lista. Así que no necesitamos nada antes de la fecha, hora, igual que antes hicimos con la imagen y la temperatura. Porque la imagen y la temperatura no están presentes dentro de la clase list, pero el DateTime está presente dentro de la clase list. Entonces seremos directamente positivos. Bien, ahora es el momento de ejecutar esta aplicación. Una vez que ejecutemos esta aplicación, entonces veremos esta página del clima. Y en la parte inferior de esta página, veremos una vista de recopilación con un dato meteorológico. Eso es todo de esta lección. Ahora, te veré en la siguiente. 14. Cómo obtener la ubicación del dispositivo: En esta lección, vamos a trabajar con el servicio de localización. Actualmente hemos codificado la latitud y longitud en la API meteorológica. Pero ahora queremos obtener la latitud y longitud según nuestro dispositivo. Entonces iremos al código de la página web detrás del archivo. Y luego vamos a escribir nuestro código para obtener la ubicación del dispositivo. Pero antes de esto, quiero decirles que al momento de grabar este video, Microsoft Team no ha actualizado la documentación del plug-in Xamarin Essentials. El nuevo nombre es Molly essentials. Todo va a ser igual en el plugin Xamarin Essentials y Molly essentials. Entonces iremos a Google y buscaremos la geo-ubicación de Xamarin Essentials. Bien, abramos este enlace. Cada uno tiene diferentes plataformas como Android, iOS y Windows. Te voy a mostrar cómo agregar el permiso en Android. Entonces voy a copiar estos permisos. Y según la documentación, necesitamos agregar estos permisos en el archivo de manifiesto de Android. Entonces iremos a las plataformas, expandiremos el Android y abriremos el archivo de manifiesto de Android. Allí pegaría esos permisos. Ahora vamos a guardar el archivo y cerrarlo. De manera similar en el iOS, necesitamos agregar estos permisos en el archivo info.plist. Te he dicho anteriormente en la aplicación de noticias que cómo podemos agregar permisos en el proyecto iOS. Dejé esta tarea para que agregaras estos permisos y el proyecto iris. Bien, Ahora en el archivo acordeón, lee la página. Vamos a agregar un método AC de tipo dusk y nombrarlo, obtener ubicación. Bien, Ahora en este método, usaremos el código para obtener la ubicación. Entonces, de acuerdo con la documentación, necesitamos usar esta clase de geo-ubicación de espera y este método asincrónico de obtener ubicación para obtener los datos de ubicación. Soul jugo, peso, vaso de geo-ubicación, y luego llamar a la getLocation es estigmática. Ahora vamos a almacenar el resultado en una variable y le pondremos el nombre de ubicación. Con dislocación, podemos escoger muchas cosas, pero solo necesitamos la latitud y longitud que se venden. Use location dot latitude, y agregue dos campos fuera este método de tipo double y asígnele el nombre. La actitud. Y el otro nombre de campo será longitud. Ahora vamos a asignar dislocación punto latitud a la latitud, ubicación punto longitud a la longitud. Ahora cuando el usuario va a ejecutar la aplicación, entonces en el método owner being llamará al método getLocation. Bien, así que llamemos a este método getLocation aquí con la palabra clave esperar. Entonces en el codificado duro los valores de latitud y longitud pasarán la latitud y longitud, que obtendrán desde la ubicación del dispositivo. ¿Bien? Ahora antes en la aplicación, quiero decirte que si estás usando el dispositivo real, entonces no necesitas agregar nada. Nuestra aplicación, elegiremos su ubicación actual. Pero si estás usando el emulador, el emulador elegirá la ubicación predeterminada. Así podremos establecer delegación en el emulador de acuerdo a nuestra elección. En el emulador irán a estos tres puntos. 2's ubicación aquí en la barra de búsqueda. Elige la ubicación de acuerdo a tu elección. ¿Bien? Después establece la ubicación. Bien, ahora vamos a ejecutar esta aplicación. Y aquí vamos. Esta vez, obtendremos el dispositivo o emulador del alfabeto de ubicación. Bien, hasta ahora tan bien. Hemos cubierto la parte de ubicación. Ahora, nos vemos en la siguiente lección. 15. Evento con tapones YourLocation: Anteriormente hemos trabajado con una ubicación de dispositivo para obtener los datos meteorológicos. Ahora veamos si vamos a cambiar la ubicación del dispositivo. Y si la aplicación está abierta o en segundo plano y presiona esta tu ubicación, entonces necesitamos obtener los datos de pluma de acuerdo a nuestra última ubicación en el archivo SAML de la base de datos. Vamos a este marco que contiene esta etiqueta para tu ubicación. Vamos a agregar un reconocedor de gestos. Y justo después de eso, crearemos una ubicación de datos íntimos de gesto de toque. Y luego tendremos un evento de tap. No podemos obtener el evento click sea el botón y el botón de imagen. Por eso hemos creado el evento de profundidad. Ahora vamos a la página web llamada archivo BAM. Dentro de este evento paso, necesitamos escribir el código para obtener los datos meteorológicos por ubicación. Tenemos que usar el mismo código que hemos escrito en su propio método de aparición. Por lo que con el fin de eliminar la duplicación, se reutilizará el mismo código. Primero, agregaremos un método asíncrono de tipo task y le nombraremos, obtendremos datos meteorológicos por ubicación. Y este método tomará dos parámetros de tipo doble, latitud y longitud. Bien, ahora cortemos este código API del propio método append y peguemos este código dentro de este método. Ahora en el evento tapped, llamaremos al método getLocation porque cuando ese usuario ejecute por primera vez la aplicación, entonces llamaremos a getLocation en el método owner beam. Pero si se abre la aplicación y ahora se cambia la ubicación, entonces volveremos a llamar al método getLocation en este evento de profundidad. Después de eso, llamaremos a esto obtener datos meteorológicos por ubicación y pasta. Latitud y longitud. No olvides agregar el asincrónico de espera. Espero que tengas este concepto, esto nada nuevo aquí. Acabamos de reutilizar el código con la ayuda de métodos. Ahora ejecutemos esta aplicación y obtendremos la ubicación de acuerdo a nuestro dispositivo. Ahora cambiemos la ubicación del dispositivo. Y si presionamos este año la opción Ubicación, entonces esta vez obtendremos los datos meteorológicos de acuerdo a nuestra nueva ubicación. De igual manera, probémoslo una vez más. Bien, aquí vamos. Entonces eso es todo de esta lección. Ahora, te veré en la siguiente. 16. Obtén datos meteorológicos por ciudad: Anteriormente hemos trabajado con los datos meteorológicos por ubicación. Ahora, en esta lección, vamos a trabajar con los datos meteorológicos por nombre de ciudad, actitudes. Tocarán este icono de búsqueda y verá el pop-up donde podrá escribir el nombre de la ciudad. Y luego se han cambiado los datos meteorológicos según el nombre de la ciudad. Entonces, antes que nada, iremos al archivo veterinario bit XAML. Ahí. Consigamos un evento click de este botón de imagen. Ahora en el archivo de acordeón irá a este evento click. Y usarían el indicador de visualización asincrónico. Y este prompt de visualización, una escena, es básicamente un pop-up que se utilizará para aceptar la entrada del usuario. Agreguemos las palabras clave asíncronas de espera. Este prompt de visualización asincrónico tomará muchos parámetros, pero todos ellos son opcionales excepto el título y el mensaje. No necesitamos un título y un mensaje. Entonces agregaremos la columna del título y este pase cadena vacía. Del mismo modo en el mensaje pasará cadena vacía también. Ahora, en el marcador de posición, agreguemos búsqueda, ya sea por ciudad. Bien. Este indicador de visualización asíncrono contendrá dos botones excepto y cancelar. Si quieres cambiar el texto de estos botones, entonces puedes cambiarlo en consecuencia. Digamos que queremos cambiar el texto de este botón Aceptar. Entonces pasaremos búsqueda aquí. No necesitamos cambiar el texto del botón de tracción. Así que solo pasaremos cancelar aquí. Bien, ahora vamos a almacenar el resultado en una variable y le nombramos respuesta. Entonces comprobaremos si la respuesta no es nula. Luego agregue un punto de interrupción junto con esta condición if y simplemente ejecute esta aplicación. Bien, ahora presiona este ícono de búsqueda y veremos este pop-up. Agreguemos algo en la ventana emergente. Después reprimió esta opción de búsqueda. Nunca se activarán puntos de ruptura y verán aquí el texto que hemos escrito en el pop-up. Bien, detengamos esta aplicación y eliminemos el punto de ruptura. Ahora, dentro de este bloque if, agregaremos el código para obtener los datos meteorológicos. Anteriormente, hemos utilizado este código para obtener los datos meteorológicos por ubicación. Ahora queremos obtener los datos meteorológicos por nombre de ciudad. Entonces lo que voy a hacer es copiar este método de datos vectoriales para la ubicación y pegarlo aquí. Ahora cambiaremos el nombre para obtener datos meteorológicos por ciudad. Y dentro de este método solo pasaremos un parámetro de tipo string y le nombramos city. Entonces en lugar de esto, get weather llamará al método get weather city junto con la clase de servicio API y pasará la ciudad. No dentro de este si bloque. Simplemente llamaremos al veterinario los datos por método de ciudad. Y no te olvides de agregar la espera. Ahora bien, este código funcionará. Pero eche un vistazo a esta repetición de conjunto de datos en nuestro código, por ejemplo, el código que está presente en los datos meteorológicos intestinales por ubicación es similar a este que hemos utilizado en el get weather datos por ciudad. Entonces lo que vamos a hacer es agregar otro método y nombrarlo, actualizar la interfaz de usuario. En este método, agregaremos un parámetro de tipo dynamic y le daremos el nombre result. Hemos establecido el tipo dinámico porque no conocemos el tipo de respuesta que obtendrá de la API. Si coloca el cursor del mouse sobre el resultado de esta variable, entonces muestra el tipo que es la clase raíz. Pero vamos a seguir adelante con el tipo dinámico. Básicamente, los tipos dinámicos se utilizan cuando no conocemos el tipo. ¿Bien? También puedes usar esa ruta aquí en las actualizaciones te un método. Entonces simplemente cortaremos este código desde el principio, ya sean datos por método de ubicación y lo pegaremos en el método de interfaz de usuario de actualización. Y eliminaremos la puntuación del primer momento si los datos por ciudad. Bien. Después llamaremos al método update UI, obtendremos datos meteorológicos por ubicación y pasaremos este resultado. De igual manera, también llamaremos a esto las actualizaciones un método. Obtener datos meteorológicos por ciudad, y pasar este resultado. Bien, ahora volvamos a esta aplicación. Aquí en el dispositivo, verá los datos meteorológicos. Ahora, si tocas el ícono de búsqueda y buscas alguna ciudad, entonces obtendremos el clima de acuerdo a nuestra búsqueda. Bien, eso es increíble. Ahora digamos que queremos volver a mi clima actual. Así que sólo voy a tocar esto, su ubicación. Y boom, aquí vamos. Obtendremos los datos meteorológicos actuales. Bien, eso es todo de esta lección. Ahora te veré en la siguiente. 17. Página de bienvenida: En esta lección, vamos a trabajar con la página de bienvenida de la aplicación pluma. Y el usuario abrirá la aplicación por primera vez. Y verá esta página de bienvenida o página de inicio. Bien, después de presionar este botón que usan, será ya sea directamente a la página. Y ahí se pueden ver los detalles de plumas. Ahora digamos que el usuario cerrará la aplicación. Y nuevamente, si va a abrir la aplicación, entonces esta vez el usuario no verá la página de bienvenida. Bien, Entonces obtendremos ese tipo de funcionalidad con el pH vertical solo se mostrará una vez. Entonces, consigamos una nueva página de contenido en el proyecto cinematográfico de Dalton. Y le nombramos página de bienvenida. Bien, en este espacio, vamos a agregar pocos controles. En primer lugar, vamos a establecer el color de la página de contenido. Después agregaremos un diseño de pila. Y en este diseño de pila agregará una imagen, tres niveles, y un control de botón. El código es muy sencillo. Ahí. Voy a usar el código que ya he escrito solo para ver si la hora. No te preocupes, escucho proporcionado este código de muestra junto con este video. Bien, ahora mira un evento click de este control de botón. Y aquí vamos. En este evento click, queremos navegar al terreno de juego federal. Entonces elegiremos navegación punto, push, modal, asincrónico. Ahí. Quién pasó la otra página. Luego, en el archivo CSS de punto símbolo punto de la aplicación, estableceremos que la página principal es igual a página de bienvenida. Ahora vamos a ejecutar esta aplicación y veremos esta página de bienvenida. Después de presionar este botón será redirigido a la playa. Ahora detendrá la aplicación y volverá a ejecutar esto. Entonces veremos esta página de bienvenida. Entonces, en la siguiente lección, te mostraré cómo mostrar la página de bienvenida solo una vez. Bien, te veré en la siguiente lección. 18. Seguimiento de versiones: En esta lección, continuaremos nuestro trabajo con la página de bienvenida. Entonces el usuario abrirá la aplicación por primera vez. Después te mostraremos la página de bienvenida. Hay usuario. Y después cuando abra la aplicación por segunda vez, entonces no verá la página de bienvenida. Por lo que para lograr esta funcionalidad irá a la app punto punto archivo CSS. Y usarán el método de seguimiento de puntos de clase de seguimiento de versiones. Básicamente este seguimiento de versiones se utiliza para rastrear la versión de la aplicación en anteriores. Esto es parte de siete elementos esenciales. Y también hay una documentación de seguimiento de esta versión. De acuerdo con este documento dish en esta versión, tracking dot track se utiliza para rastrear la versión actual de la aplicación. Entonces usaremos una condición if y verificaremos. Si el punto de seguimiento de la versión se inicia por primera vez, la propiedad es verdadera. Entonces estableceremos que la página media es igual a página de bienvenida. De lo contrario. Si no es cierto, entonces estableceremos la página principal igual a la página del clima. Básicamente esta versión tracking dot is first ever launch is used to check if the application is launched first time or not. La aplicación se inicia por primera vez. Después estableceremos la base principal para la página de bienvenida. Y si la aplicación se inicia por segunda vez o así sucesivamente, entonces estableceremos la página principal a si playa. Bien, vamos a ejecutar esta aplicación. Y aquí veremos la página de bienvenida. Bien, sigamos adelante y veremos la playa. Ahora detengamos la ejecución. Y vamos a ejecutar esta aplicación una vez más. Ahora esta vez veremos la base de proveedores como nuestras partes principales. Bien, espero que tengas este concepto de seguimiento de versiones. Eso es todo de esta lección. Ahora, te veré en la siguiente.