Hoy os vamos a dejar un tutorial de cómo usar el servicio MSN Weather en nuestro Windows Phone.
Este es un servicio de tiempo que nos devuelve un fichero XML con la previsión de 5 días a partir del actual.
Este servicio lo podemos llamar con esta URL pasándole tres parámetros.
Cómo podéis observar los parámetros introducidos son cómo vamos a recibir la temperatura, si en grados Celsius o Fahrenheit. El segundo parámetro es la cultura es-ES para recibir los datos en castellano, y por último la ciudad de la que queremos recibir la previsión de tiempo.
Con todo esto, ya nos podemos poner manos a la obra a crear un proyecto WP8 para mostrar la previsión del tiempo. Para ello voy a utilizar Visual Studio 2013, lo primero creamos un nuevo proyecto vacío:
- Una vez tenemos creado el proyecto nos vamos a crear una carpeta de imágenes donde meteremos todas las imágenes del tiempo para luego mostrarlas:
- Lo siguiente que haremos, en mí caso ha sido crearme un ViewModel de la vista para seguir el patrón MVVM:
- Y ahora metemos una lista del tipo LongListSelector en la vista para poder mostrar la imagen, la temperatura o lo que nosotros queramos.
- Fijaros que también he puesto una progressbar para indicar cuando esté cargando el servicio. Este servicio es muy rápido y puede que ni se vea pero para otros servicios esto es muy importante para el usuario, que en todo momento tiene que saber que estamos haciendo algo.
- Lo siguiente que haremos será crear una clase Weather en la que iremos metiendo todas las propiedades que nos devuelva el fichero XML:
- Y una vez que tenemos la clase, creamos la lista de este tipo que vamos a enlazar con la vista:
- Lo siguiente será crearnos dos métodos, uno para realizar la consulta asíncrona al servicio, y otro para cuando finalice la consulta procesar el fichero XML y almacenarlo en la lista que hemos creado anteriormente.
- Ahora en el constructor del ViewModel lo que haremos es llamar al método de CargarTiempo() para que nos cargue la lista.
- Por último, creamos un converter que utilizaremos en la vista para que, dependiendo el SkyCode que nos venga mostraremos una imagen u otra:
Con todo esto, solo nos falta darle al play y arrancar el emulador para probar nuestra aplicación y éste es el resultado que podéis visualizar en vuestro windows phone.