Olá a todos, tudo bom?
O Framework .Net disponibiliza uma classe chamada WebClient (Namespace System.Net) e, assim como ocorre em aplicativos para Desktop, Web, Windows Services, Console, etc, nos aplicativos para Windows Phone também é possível fazer uso dessa classe para realizar o download de conteúdos da web no formato de strings (geralmente conteúdo XML ou JSON) ou mesmo dados binários, como por exemplo, arquivos de imagens.
No exemplo abaixo, estou utilizando a classe WebClient para fazer o download do texto XML correspondente ao RSS do meu Blog (https://ehrizo.wordpress.com/feed/). Repare que faço uso de dois eventos, sendo que o primeiro é invocado toda vez que a classe faz o download de uma parte do conteúdo, ou seja, fica sendo invocado continuamente até o final do download e o segundo, é invocado quando o download do conteúdo é concluído.
Veja o código abaixo em C#:
public partial class MainPage : PhoneApplicationPage
{
WebClient wc = new WebClient();
// Constructor
public MainPage()
{
InitializeComponent();
wc.DownloadProgressChanged +=
new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
wc.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri("https://ehrizo.wordpress.com/feed/"), "ehrizo");
}
void wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
/*
A comparação abaixo é feita para que a classe compute apenas o download
de conteúdo realizado pela própria aplicação. Repare o nome do token "ehrizo"
que também foi definido na chamada do método DownloadStringAsync
*/
if (e.UserState == "ehrizo")
ApplicationTitle.Text = e.BytesReceived.ToString() + " bytes recebidos";
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null && !e.Cancelled)
txtRSS.Text = e.Result;
}
}
O resultado da execução do código pode ser visualizado na imagem abaixo.
Post relacionado: Curso Windows Phone Gratuito
Grande abraço,
Eduardo Henrique Rizo (@eduardorizo)
Comentários