Clique e receba as novidades quentinhas no Telegram

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)

Fonte: Blog do Eduardo H. Rizo – Curso Windows Phone – Classe WebClient para download de conteúdo da web no formato de dados binários ou strings